且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Nosql之普罗米修斯猜想

更新时间:2022-10-04 22:18:45

Nosql之普罗米修斯猜想

              Nosql带领我们进入到一个新的数据库世界,字面上我们不要理解为是“No sql”,应该正确理解为“Not only sql”就是说我们不仅仅使用sql来查询和处理数据,还可以利用编程语言和其他技术来管理我们的数据,数据是多种多样的,就跟达尔文的进化论类似,数据也会进化,从远古的甲骨文,到现代的二进制,还有最近流行起来的二维码,不同的数据其管理方法也是不一样的。由原来无库时代->层次状数据库->网状数据库->关系型数据库->非关系型数据库-> 未来超级数据库,这也是进化而来,前些日子看了放映的大片《普罗米修斯》,里面有一个震撼的场面“星际云图”,如下图所示,在一个有限空间里展示出了整个宇宙分布,每个星系每个星球都非常逼真而清晰,自己知道自己所在的位置,这样的信息是如何保存起来的呢?

   

              这可能不太适合使用关系型数据库来管理,说说为什么!

1.数据量:星际云图如果要实现,首先存储起来的数据量可想而知,这不是几个oracle就可以装下的。需要强大的存储设备。



 

2.运算量:数据转换为图形,计算各自的信息与资源,展示出来,这也不是仅仅追加硬件就可以的,早晚会碰触到天花板。



 

3.传输流量:数据如果是不流动的只能称之为标本,要计算出星球自己所在的位置和运行轨迹,并且要让其他的天体也知道每个行星的位置和自己的位置,这种输入/输出数据量可以想象是巨大的。



 

4.存储方式:这种星际云图已经不能单纯使用table来存放数据了,因为它是一种非结构化数据,最简单理解是一种三维数据,而表只能表示出二维数据,更甚者如果加上时间就是四维数据了。


 

              如果要设计一个符合条件的Nosql数据库那么需要重点关注是什么呢?

1.解决数据量:那么我想不用多说分布式存储可能是目前可行的一个好方法,因为集中存储总有一天会碰触到天花板,不管是空间上 or 资金上 or I/O。而分布式存储可以适当降低成本,最重要的是可以大幅度提高I/O性能。

 

2.解决运算量:这个方案可以采用集群作战方式,也就是人海战术,最关键的是如何协调好大家一起来井然有序的工作,需要一个中间控制系统来协调集群工作。


 

3.解决传输流量:可以使用超级黑电缆,这种黑电缆速率40Gb/s,低延迟,高带宽。有一个不成熟的想法,来源于Exadata RAC架构,它是用一整块背板(集成电路板)把两台机器背靠背拼起来,数据走在总线上。我们是不是可以把集群中的节点也用总线的方式串起来,这样基本上就跟上了内存IO效率啦。


 

4.解决存储方式:星际云图它是一种三维或者是多维的数据集合,我想这种数据可以用数学上的坐标方法来量化,每个星球有自己的坐标集合,若干个星球可以组成一个星系,就这样逐渐的拼接起来构建出图中震撼画面。





 本文转自 leonarding151CTO博客,原文链接:http://blog.51cto.com/leonarding/1094252,如需转载请自行联系原作者