数据空间
您当前的位置: 首页 /数据知识

大数据时代是否需要自研数据库?

发布时间:[2019-09-26] 来源:网络 点击量:

中国企业数据治理联盟(www.chinaedg.com/

     大数据时代数据库怎么做?说实话,个人不建议从零开始去做一个数据库。你需要考虑分布式、数据库容错、数据负载均衡等等,这里面所投入的人力成本和开发成本都非常高,小公司到可能根本负担不起。结果可能到最后,还不一定有开源数据库做得好。这里我建议直接使用开源数据库就可以了,有什么特性直接在开源数据库上开发和使用。

     由于是大数据时代,每天产生的数据量都非常大,所以在引入数据库时,需要选择能够支持分布式的数据库。我们这边目前使用的HBase数据库的场景比较多,专门为HBase搭建了一个很大的集群。HBase属于NoSql的一种数据库,NoSql,即Not Only SQL,和传统的关系型数据库有一定差别,HBase是面向列式存储。
     HBase中的表是一个分布式多维稀疏的Map集合,整体上你可以将其理解为一个KV存储的数据库。Key由行健、列族、列、时间截、数据类型组成,Value 最底层则为字节数组。HBase主要适用写多的场景,底层使用LSM树结构来组织数据,当然,HBase读性能也还可以。分布式数据库推荐,我首选HBase数据库。
     在大数据任务指标监控方面,我们使用OpenTSDB数据库进行存储。OpenTSDB是一种时序数据库,时序数据库你可以将其理解成一个坐标轴,横坐标为时间信息,纵坐标就是具体的指标值。目前,时序数据库的主要场景还是在任务指标实时监控方面。
     OpenTSDB本质还是在HBase数据库进行存储。所以根本不需要其存储数据过大的情况,同时在获取OpenTSDB指标数据时,直接使用其提供的Http API接口就可以,非常方便。所以在指标监控方面数据存储方面,我推荐使用OpenTSDB数据库。
     在图数据库方面,我个人使用过Neo4j,Dgraph,JanusGraph这三种。Neo4j的优势是单机,不需要你安装什么东西,同时自带Web UI,只要你将图模型设计好后,就能够快速在前端进行展示了,Neo4j适合用户快速验证相关图模型结论的场景。
     Dgraph是Go语言进行编写,个人当初在使用时,说实话,感觉Dgraph入门比较难,虽然是分布式图数据库,个人感觉运维方面可能会有点费力,这里不推荐。JanusGraph和Hadoop生态打通,不过,整体下来使用会有点笨重,如果你们公司主要使用Hadoop生态相关,这里建议使用JanusGraph。
 

发表评论 共有条评论
用户名: 密码:
匿名发表