初次认识NoSQL

前端之家收集整理的这篇文章主要介绍了初次认识NoSQL前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一、什么是Nosql

二、它为什么产生?它与sql是什么关系(解释关系型和非关系型)

三、它与大数据是什么关系

四、它有哪些具体表现形式?即有哪些具体应用?

五、它的优缺点是什么?

六、它的前景怎么样?它是否有可能替代sql


淘宝的数据库现在逐渐从Oracle转向MysqL,从小型机到PC Server

淘宝的模式是MysqL+PC Server

是把三个数据库拆成更多的数据库,或每一个数据库支持一个比较单一的业务。比如用户、商品和交易,都会分成独立的数据库,然后放到独立的小型计算中去,这是我们08年做的很大的事情就是垂直拆分,然后08年的业务我们就顶住了。


今年在十月份之前我们全部完成了淘宝最核心的三个系统:交易数据库、商品数据库用户数据库的水平拆分。


我们内部有一个提法叫做去O、去I、去E,其实就是我们要从高端硬件Scale up模式到低端硬件的Scal out水平扩展的模式,


去Oracle,去小型机,去高端存储,这个“三去”的整体思路

当时我们知道小型机和存储的价格是非常昂贵的,还是拿我们刚才说压力最大的商品数据库举个例子,当初我们数据库是用了四台高端的小型机,两套高端的存储,成本加起来起码都是三千万以上。那目前我们用的是32台PC server来搭建的一个机群,价格也就是300万~500万的级别。相对来说我们做完这个事情以后,解决了两三千万的硬件成本。

你要从Oracle转到MysqL包括从小型机转到PC server,其实里面还是会遇到蛮多问题的,包括它的不稳定性等等,那对于这一方面你有没有什么经验可谈?
在这一方面,我觉得有两个很重要的因素。第一个是我们需要和我们的开发前端应用架构部门能够紧密的合作,能够让我们的应用融入刚才说的整个机群的单点失效和容灾的问题。都需要我们和架构部门一起来考虑的;第二个比较大的经验就是目前我们在做的,深入研究MysqL的源代码。我们从研究和压力测试的过程中,发现MysqL它本身代码的一些缺陷,可能在高并发大压力下会有很多隐藏的Bug。

在我们最近的这次测试当中,我们还发现了Facebook发布的FlashCache二级缓存的软件,当时我们是测出它一个非常大的Bug:并发压力非常大的情况下,它会导致MysqL成为一个僵尸进程。我们发现了以后,很快反馈给Face book,然后Face book很快就修复了这个问题,这也是我们对使用开源软件带来更大的一个信心,就是开源能够在全球得到更多的支持,大家都能够从原代码层面来解决更深层次的一个问题。
我想这也可能是淘宝技术团队现在那么开放,那么注重开源的动力之一。那如果说想对MysqL的一些核心代码做编译,就需要对人才的储备,包括各方面资源整合的要求还是蛮大的,那你在这方面有没有什么感触?

MysqL已经被Oracle收购了

MysqL其实是基于GPL的协议来开源的软件

猜你在找的NoSQL相关文章