一、什么是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,其实里面还是会遇到蛮多问题的,包括它的不稳定性等等,那对于这一方面你有没有什么经验可谈?
@H_502_84@
在这一方面,我觉得有两个很重要的因素。第一个是我们需要和我们的开发前端应用架构部门能够紧密的合作,能够让我们的应用融入刚才说的整个机群的单点失效和容灾的问题。都需要我们和架构部门一起来考虑的;第二个比较大的经验就是目前我们在做的,深入研究MysqL的源代码。我们从研究和压力测试的过程中,发现MysqL它本身代码的一些缺陷,可能在高并发大压力下会有很多隐藏的Bug。
@H_502_84@
@H_502_84@
@H_502_84@
在我们最近的这次测试当中,我们还发现了Facebook发布的FlashCache二级缓存的软件,当时我们是测出它一个非常大的Bug:并发压力非常大的情况下,它会导致MysqL成为一个僵尸进程。我们发现了以后,很快反馈给Face book,然后Face book很快就修复了这个问题,这也是我们对使用开源软件带来更大的一个信心,就是开源能够在全球得到更多的支持,大家都能够从原代码层面来解决更深层次的一个问题。
@H_502_84@
@H_502_84@