在发布YunTable0.1版之后,我将这个好消息和我一个在中国移动工作的同济同学分享了,他首先向我表示祝贺,但是他不理解像YunTable这样的分布式数据库和Oracle这样的关系型数据库有什么区别?当接到这个问题的时候,我并没有立即回答,因为我感到这个疑问不仅是他一个人会有,而且估计有很多同学也有类似的疑问,这就是本文的由来。但在介入分布式数据库之前,让我们剖析一下关系型数据库有哪些不足。
关系型数据库的不足之处
- 扩展困难:由于类似“join”等语句的存在,使得一个关系型数据库很难扩展,即使能扩展,也比较常用“垂直扩展”这类比较昂贵的解决方案。
- 并发读写慢:由于关系型数据库内部存在很多锁,导致在并发读写方面有一定的不足,当访问量上去的时候,有可能会出现性能大幅降低的情况。
- 成本高:除了上面提到的昂贵的解决方案外,普通的商业数据库的购置成本也是非常高的。
- 有限的支撑容量:由于类似Oracle和IBM这样的公司在设计数据库的时候,并不是以Google这样的互联网企业为目标客户,使得它们的产品虽然能满足大型企业的需求,但是面对类似Google这样的海量需求而言,是难以为继的。
分布式数据库的优势
- 简单的扩展:只要通过简单几个步骤就能给一个机群添加一个新的节点来支撑新的流量和数据,总体规模能达到P以上的级别,在这方面HBase已经有成功的范例了。
- 自动的备份:分布式数据库的产品基本都会附带自动备份功能来保护数据的安全。
- 快速的读写:因为在内存利用,压缩和Column存储等方面分布式数据库都有很多的支持,所以在读写方面,速度会有优势,这方面的例子有Cassandra。
- 低廉的成本:由于开源的特性,所有其购置成本是很低的。
虽说关系型数据库有很多不足之处,但是其还有很多优点,比如:对工业标准的SQL语言有良好的支持,事务的支持和较低的学习成本,也就是说,分布式数据库要替代关系型数据库,还有很多路要走,所以现在分布式数据库还属于小众。
最后,通知一下,YunTable马上将发布其0.11和0.2版,0.11将会是一个fixpack,主要修复YunTable0.1版中存在的内存泄漏问题,而0.2版将会是以feature为主的版本,目标是完整实现其分布式模型,并能够正常的工作,但不要求其能在Production的环境下运作,到时将会在Google Code上进行开源,希望大家有时间的话,可以一起参与,毕竟这是一个非常不错的相互学习的机会。
参考资料:
-
NoSQL数据库探讨之一 - 为什么要用非关系数据库?
-
Cassandra technical overview
分享到:
相关推荐
《云计算核心技术剖析》,本书首先介绍了云计算理论方面的知识,接着剖析了多个顶尖...并以 YunTable这个云时代的BigTable为例,来给大家演示如何手动编写和设计一个分布式数据库,最后对云计算的未来发展做了展望。
第三部分为实践篇,将选择云的核心模块之一——分布式数据库作为实践的方向,并以YunTable这个云时代的BigTable为例,给大家演示如何手动编写和设计一个分布式数据库;最后一部分为展望篇,预测了云计算和整个科技...
最后,yuntable-read-only文件可能是YunTable源代码的只读版本,这可能意味着该版本仅供学习和研究,不允许进行修改和编译。通过阅读这个只读版本,我们可以理解YunTable的软件工程实践,例如代码组织结构、编程规范...
- **主要系统**:Git、Mercurial等分布式版本控制系统成为主流选择,它们在软件开发中的应用越来越广泛。 **应用场景** - **开源项目**:在开源社区中广泛采用,便于全球开发者协作开发。 - **企业内部**:企业内部...
- 基于内存的新一代数据库:如YunTable,这类数据库在实时分析领域展现出巨大潜力,尤其是在秒级响应和高并发访问方面表现优异。 #### 八、总结 大数据实时分析正逐渐成为各行业数字化转型的关键技术之一。随着...
2. 统计分析:此阶段的重点是将前端收集的大量数据快速导入大型分布式数据库或存储集群,例如InfoBright、Hadoop(包括Pig和Hive)、YunTable、SAP Hana和Oracle Exadata。这些系统利用分布式计算技术,处理大规模...
HANA的一个代表应用是YunTable MPP内存计算数据库,采用大规模并行处理、列存储技术和动态数据分发等技术,展示了内存计算在大规模数据处理中的潜力。 除了介绍具体的技术和产品,吴朱华还强调了内存计算技术设计的...