当前位置: 首页 > news >正文

思考:真正的分布式数据库是否让“数据湖”概念成为历史?

原文地址:http://www.fromgeek.com/ai/152830.html

最近吴宁川一篇《厉害了,蚂蚁金服!创造了中国自己的数据库OceanBase》报道了OceanBase诞生的前因后果。内容非常详实,值得分享。同时自己也分享几点杂想:
第一,杀熟不仅仅是大数据时代的产物
之前从某网平台爆出的订购酒店或者是约车出行的杀熟案例。说明大数据时代我们每个人都处于一个小白,随时宰割的状态。
其实这种现象在各个领域都存在。比如,技术壁垒也是杀熟的条件之一。就像文章中谈到的,王坚在2008年阿里的时候,提出的去IOE行为。就是因为技术壁垒产生的杀熟情况。正常来看,IT采购是一个促进企业效率的工具。但是采购包括向小型机、高端存储、数据库,其采购的越多,成本是呈现几何式增长。其IT采购不在是促进因素,甚至严重的阻碍了企业的发展。
就像IOE这样的设备在阿里云业务大规模发展过程中,带来的成本越来越高。对于阿里来说,失去了其技术促进生产的原动力。在这样的情况下,蚂蚁金服自主研发的OceanBase数据库。
第二,真正的分布式数据库诞生,打破了传统的“数据湖”概念。
何为传统的“数据湖”概念,就是把多个物理上的磁盘看成是虚拟的一个存储单元,OceanBase 团队SQL开发方向负责人陈萌萌的说法是把所有的数据库看到的是同一个数据磁盘、共享数据访问,可以确保所有的数据都可被访问到,但是对硬件要求提出很高的要求,就是底层硬件本身要稳定可靠。可以看到这种理念被绝大多数的传统企业甚至包括互联网企业所接受。
而阿里打破了这个理念,全球仅有两家企业打破了这个理念,一个是阿里,一个是Google。
陈萌萌认为目前真正的分布式数据库全球仅有两家,阿里的OceanBase,以及谷歌于2017年2月发布的全部自研的Spanner分布式数据库云服务。
即使是AWS推出的Aurora数据库,其设计原理更接近于传统数据库的共享磁盘设计。
具体来讲OceanBase在处理数据访问的时候,相当于把一台原来的小型机或存储设备从纵向“切片”成很多机器,再把数据分布到这些分散在不同的机器上,个人理解应该是把一个整体“数据湖”分成了多个小的“数据池”。
OceanBase的一个基础设计思想是把每一份数据存放在三台不同的机器上,那么一台PC服务器出故障的概率为千分之一的话,两台同时坏的概率可能就是百万分之一,三台同时坏的概率则是十亿分之一。
第三,OceanBase分布式数据库是否可以与区块链技术结合?
首先我们看到王坚提出阿里要建设分布式数据库与中本聪提出的比特币白皮书是同一个时期。这里我们看到,从2009年开始,王坚就在考虑一个真正适应未来互联网业务的分布式数据库。大家可以换个角度看,也是在同一时期,中本聪提出了一种点对点的电子货币系统,其背后采用的区块链(被人们戏称也叫做“有史以来最慢的分布式数据库”)技术。
不同的是,Oceanbase作为一个商业项目,经过这几年的不断发展,单纯看这个数据库,既实现了分布式的数据存储,又做到了数据库查询优化。在真是应用场景上,相对于传统的银行柜台,人工窗口提供服务花费大量的时间获得服务,蚂蚁金服基于oceanbase提供的互联网金融应用,为用户提供了优质的互联网服务体验。
所有区块链这种缓慢的分布式数据库技术,可以参考阿里的Oceanbase或者Google的Spanner数据库技术。这样,对于区块链技术的推进有着积极的作用。

转载于:https://blog.51cto.com/13722387/2110192

相关文章:

  • Eclipse Photon即将发布
  • 诡异的量子自杀
  • pyqt5 动画在QThread线程中无法运行问题
  • Spring Boot 定时任务
  • mybatis-generator逆向工程生成boolean字段解决办法
  • MySQL 高可用性keepalived+mysql
  • 今天来尝个鲜——vCenter6.7 + ESXi6.7
  • springcloud微服务学习之ribbon
  • 如何将SAP Multi Target应用部署到SAP云平台的Cloud Foundry环境去
  • solr cloud搭建
  • 5月7日云栖精选夜读丨如何用阿里云快速构建游戏发行技术体系
  • Java基础-MySQL数据库扫盲篇
  • Spring Boot项目中发送邮件
  • 使用Leangoo做销售管理系统
  • 用ASP.NET Core 2.0 建立规范的 REST API -- 预备知识
  • JavaScript-如何实现克隆(clone)函数
  • 《深入 React 技术栈》
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【391天】每日项目总结系列128(2018.03.03)
  • angular学习第一篇-----环境搭建
  • canvas 高仿 Apple Watch 表盘
  • Git的一些常用操作
  • Java 最常见的 200+ 面试题:面试必备
  • MySQL QA
  • passportjs 源码分析
  • Python进阶细节
  • React 快速上手 - 07 前端路由 react-router
  • Spring Boot MyBatis配置多种数据库
  • SpringCloud集成分布式事务LCN (一)
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • 初识MongoDB分片
  • 从PHP迁移至Golang - 基础篇
  • 基于web的全景—— Pannellum小试
  • 讲清楚之javascript作用域
  • 使用docker-compose进行多节点部署
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 微信小程序填坑清单
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • hi-nginx-1.3.4编译安装
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • (1)(1.13) SiK无线电高级配置(五)
  • (1)常见O(n^2)排序算法解析
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (pojstep1.3.1)1017(构造法模拟)
  • (分享)自己整理的一些简单awk实用语句
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (三分钟)速览传统边缘检测算子
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)ObjectiveC 深浅拷贝学习
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .Net IOC框架入门之一 Unity
  • .NetCore项目nginx发布