DTCC2016:李元佳谈“数据库”选型

本文讲的是 :  DTCC2016:李元佳谈“数据库”选型  , 【IT168 专稿】高速发展的互联网推动着大数据云计算的成熟以及行业变革,而互联网的发展少不了开源数据库支持,而其中PostgreSQL是一个功能强大的开源数据库系统。经过长达15年以上的积极开发和不断改进,PostgreSQL已在可靠性、稳定性、数据一致性等获得了业内极高的声誉。目前PostgreSQL可以运行在所有主流操作系统上,包括Linux、Unix(AIX、BSD、HP-UX、SGI IRIX、Mac OS X、Solaris和Tru64)和Windows.PostgreSQL是完全的事务安全性数据库,完整地支持外键、联合、视图、触发器和存储过程(并支持多种语言开发存储过程)。它支持了大多数的SQL:2008标准的数据类型,包括整型、数值值、布尔型、字节型、字符型、日期型、时间间隔型和时间型,它也支持存储二进制的大对像,包括图片、声音和视频。PostgreSQL对很多高级开发语言有原生的编程接口,如C/C++、Java、。Net、Perl、Python、Ruby、Tcl 和ODBC以及其他语言等,也包含各种文档。


▲PostgreSQL中国用户会创始人之一 李元佳

  近日,IT168记者对即将参加DTCC 2016中国数据库技术大会的大会专家顾问团成员李元佳进行了专访,他也是PostgreSQL中国用户会创始人之一,主要活跃在Postgres社区,从做内核开发到做社区,截止目前在华为做数据库方面的产品管理和规划,在PostgreSQL领域拥有十多年积累,此次采访,李元佳与大家分享了他对PostgreSQL开源社区和数据库这十多年内职业生涯历程。

  PostgreSQL心路历程

  作为PostgreSQL中国用户会创始人之一,十多年坚持在这个领域有哪些心路历程?李元佳表示,我第一次与Postgres接触是2005年时候,那时候到东京上学时候在一个初创公司找了个开发的兼职,开发基于Postgres的集群产品,大概有五六个人,那时候Postgres还没有流复制的集群,而日本使用Postgres的企业用户比较多,都希望有个集群实现高可靠,所以我们这个团队就开发了这样一个产品,每周两三天这样子,我基本把Postgres的代码摸熟了,这段经历给我奠定了后面职业生涯的基础。2006年硕士毕业的时候,刚好我的教授把我推荐到NTT工作,恰好他们的团队正好也是要做Postgres的研发,这样就正式开始了Postgres的职业生涯。另外,还有个事是第一次Postgres中国用户大会的举办,2010年之前我在国内跑过一些企业用户,那时候Postgres极难推,很多人基本不知道这个是什么,这个使我下决心在国内办个正式的用户大会,通过大会建设国内社区和提高Postgres的知名度。第一次办会的困难,至今难以忘记,那时候基本没有认识太多国内圈子里面的人,也没有赞助,第一次办会也不知道能来几个人,场地要钱、国际嘉宾也要花钱还有印刷品、礼物什么的都是要钱,压力很大,基本上所有事情都是亲力亲为,为了多点人参加,我自己在QQ群上,一个人一个人单独发信息,邀请他们参加大会,直到第一天晚上社区的兄弟们开完会后一起去唱K唱到半夜,我的心才松下来,这些都是办社区的辛酸事,不过也是在这次以后认识了一起在国内推广社区的兄弟们,大家都是在战斗里接下的情谊。

  对于DTCC大会,李元佳高度评价道,我参加过几次DTCC,对这个会还是有感情的。印象最深的就是这个会应该是国内数据库方面规模比较大的会,基本上把企业数据库方面的议题还有相关人员都涵盖了,信息量还是比较大。从前年开始Postgres社区就和DTCC也展开相关的合作,去年的DTCC里面还为Postgres准备了一个专场,专场比较火爆甚至有很多人站着听会,这个对我们社区是一个很大的鼓舞,DTCC是帮助Postgres社区进入主流市场的一个很重要平台,而今年也会加大Postgres方面的话题,可以说DTCC对Postgres在中国的成长和发展帮助很大,这个也是我感受比较深的一个方面。

  商业与非商业数据库择决

  对于一个中型企业而言,选型数据库的择决上?李元佳表示,“市场上可选的数据库目前来说正在变多,一方面是开源数据库日益进入主流,另外一方面针对不同细分市场的数据库也不断涌现,包括NoSQL、内存数据库、缓存库、NewSQL、大数据的分析型数据库,这几方面的因素使得大多数企业在数据库选型的时候,比以前面临更加多元化的选择,同时选择的难度也在加大。数据库选型是相对比较复杂的一个决策,包括项目上的需求、公司的人员的技能、还有相关技术服务商的响应能力、第三方产品的配套等都需要全面的平衡。

  对于众多的数据库产品,Gartner的数据库魔力四象限是一个很好的全面了解工具,魔力四象限对各产品的市场地位及能力有比较全面客观的反应。在具体选择上,相对比较成熟的领域可能选择的难度会小一些,包括一些传统的厂商的产品、MySQL的互联网应用等,这些有相对比较强的业界共识,相信选择的难度并不大。可能难度稍微大点的是相对比较陌生的领域,例如Postgres,对于很多企业来说是一个新的产品,是否要选择的难度会大点,Postgres的话我看来基本上性能、功能以及可靠性都完全满足大多数中型企业的非关键业务系统的需求,而且国内有比较多的成功案例,唯一比较担心的可能是技术人员和第三方服务相对比较弱,类似这些产品可以多参加产品本身的社区的会,可以有比较全面的认识。而如果要选择的是更为激进的类似Voltdb这样的新型产品可能要冒的风险更加大,决策需要更为谨慎。

  商业与非商业上来说,并非是选型最重要的依据了,原来越多企业已经能够接受开源的数据库,这里面唯一需要注意的就是如果企业本身技术实力不是很强,在选择开源数据库时候,选择一个商业的第三方技术合作伙伴会帮助企业降低风险。

  谁该选择数据库一体机?

  对此李元佳表示,我们看到数据库一体机的话有两种形式,一种是像Oracle ODA那样的Database Appliance,就是软件预安装在硬件上并作优化,另外一种就是像Oracle Exadata那样,硬件也做修改,配合软件,实现一体协同优化的数据库一体机,两个的卖点都是性能及开箱即用。从市场定位来讲,前一种成本比较低是面向中小企业,而后一种是面向高端应用的大型企业。这里我讲讲我的个人看法(纯属个人看法和公司无任何关系),我并不特别看好类似Exadata那样的软硬一体协同优化的一体机。硬件与软件的深度绑定,在短期内能够带来很多性能和管理成本上的好处,但是也意味着这个软硬一体的系统是一个更加封闭的系统,这个和IT赖以发展的开放基石是相违背的,包括后续开发的成本、创新的速度和能力、用户的深度厂商锁定的恐惧都会冲抵性能收益,相信了解数据库历史的人都知道目前的一体机只不过是已经被历史抛弃的Database Machine的老路的重演,我对数据库一体机这个模式能否取得商业上的巨大成功表示很深的怀疑。尤其是目前数据库往云上演化、往分布式演化、还有众多新硬件新技术不断涌现,数据库一体机只会对创新和占据未来的控制点形成包袱,我觉得难以取得很大的成功,这个是我对这个方向的悲观看法。

  对于一名优秀的数据库技术人员应该具备怎样的素质?李元佳表示,从我接触到的国内比较优秀的数据库人员来说,他们给我一个比较深的感觉是大家都有比较深的技术情结以及对数据库的原理钻研得比较透,无论是Oracle社区的或者是Postgres社区的比较活跃的人,大家对数据库内部的机制都是如数家珍,碰到数据损坏什么的疑难杂症都能够亲手恢复,达到牛人级别,所以在如果想在数据库领域要走得远的话,深入理解好数据库的原理是基本内功;另外还有一个就是思路要很清晰,数据库出现问题的时候,各种日志信息、性能指标纷繁复杂,如何快速定位及解决问题是一个很大的挑战,需要有很好的问题解决思路;最后就是在一线大压力系统的运维经验,也是很重要。所以对于新进入的朋友来说,首先把数据的内功修好很重要,其次多参加技术社区的交流活动,无论是像DTCC这样的会,还是像我们Postgres这样垂直社区的会,互相交流学习是很重要。

  最后对于2016中国数据库技术大会的主题”数据定义未来“理解,”数据所扮演的角色越来越重要,有人在提现在是个DT的时代,或者说是一个数据的时代,数据成为越来越多企业的最关键资产之一,代码越来越不值钱,但是数据越来越重要。李元佳说道,同时他指出,“从各大互联网巨头的竞争策略来看,数据已经成为竞争的核心焦点之一,谷歌正把其掌握的全球最大的数据,变成其最深厚的商业护城河,同时也是其未来智能商业的血液,从这个意义来说,数据正成为定义未来的关键基石。这次的大会涵盖不仅仅是在线数据管理,还有大数据管理,还有云上的数据管理,是帮助企业面对未来挑战,帮助企业迈向DT时代的数据库大会,所以我觉得”数据定义未来“是一个让人期待的主题,同时也预祝这个人数最多的数据库大会能够圆满成功!.

  作为国内数据库与大数据领域最大规模的技术盛宴,2016第七届中国数据库技术大会(DTCC)将于2016年5月12日-14日召开。大会云集了国内外顶尖专家,共同探讨MySQL、智能数据平台、数据治理、大数据创业、大数据深度学习等领域的前瞻性热点话题与技术,为数据库人群、大数据从业人员、广大互联网人士及行业相关人士提供最具价值的交流平台。更多有关大会的精彩内容请访问DTCC 2016官网:http://dtcc.it168.com/原文发布时间为:2015年7月6日

本文作者:闫志坤

原文标题 :DTCC2016:李元佳谈“数据库”选型

时间: 2024-11-17 05:25:50

DTCC2016:李元佳谈“数据库”选型的相关文章

数据库选型十八摸 之 PostgreSQL - 致 架构师、开发者

标签 PostgreSQL , 数据库特性 , 数据库应用场景分析 , 数据库选型 背景 数据库对于一家企业来说,相比其他基础组件占据比较核心的位置. 有很多企业由于最初数据库选型问题,导致一错再错,甚至还有为此付出沉痛代价的. 数据库的选型一定要慎重,但是这么多数据库,该如何选择呢? 我前段时间写过一篇关于数据库选型的文章,可以参考如下 <数据库选型思考> 另外,PostgreSQL这个数据库这些年的发展非常的迅猛,虽然国内还跟不上国外的节奏,但是相信国人逐渐会融合进去. 所以我专门针对Po

李元佳:漫谈 Greenplum 开源背后的动机

作者:李元佳 这几天最大的消息莫过于 Greenplum 的开源,年初开始 Pivotal 就宣布了 greenplum 的开源,经过大半年的翘首等待,终于在十月底在欧洲的 Postgres 大会宣布开源,并兑现在 Github 上开放代码(https://github.com/greenplum-db/gpdb ),社区的官网为 http://greenplum.org/, 其官方博客也有提到相关事项.代码是采用 Apache 许可,今天已经有社区的朋友尝鲜从社区取下代码,在 Greenplu

数据库选型思索 - 致 架构师、开发者

标签 PostgreSQL , 数据库选型 背景 数据库选型是一件很大的事情,也是一件很头疼的事情. 很多企业并没有数据库的选型标准,或者并不了解业务需要什么样的数据库. 很多企业的数据库是开发说了算,熟悉什么就用什么,很多选型失误,导致后期非常尴尬的局面. 那么数据库选型要注意什么呢? 列举一些例子,取自如下文档 <数据库选型的关键指标> 选型维度 功能差异 1. 递归查询, connect by, 树形查询 PostgreSQL 通过(with 或 tablefunc支持)支持例子 htt

浅谈数据库设计技巧(上)

技巧|设计|数据|数据库|数据库设计 说到数据库,我认为不能不先谈数据结构.1996年,在我初入大学学习计算机编程时,当时的老师就告诉我们说:计算机程序=数据结构+算法.尽管现在的程序开发已由面向过程为主逐步过渡到面向对象为主,但我还是深深赞同8年前老师的告诉我们的公式:计算机程序=数据结构+算法.面向对象的程序开发,要做的第一件事就是,先分析整个程序中需处理的数据,从中提取出抽象模板,以这个抽象模板设计类,再在其中逐步添加处理其数据的函数(即算法),最后,再给类中的数据成员和函数划分访问权限,

谈数据库中模糊数据的输入与判别

数据|数据库 前言 模糊数据库,是指能够处理模糊数据的数据库.一般的数据库都是以二直逻辑和精确的数据工具为基础的,不能表示许多模糊不清的事情.随着模糊数学理论体系的建立,人们可以用数量来描述模糊事件并能进行模糊运算.这样就可以把不完全性.不确定性.模糊性引入数据库系统中,从而形成模糊数据库.模糊数据库研究主要有两方面,首先是如何在数据库中存放模糊数据:其次是定义各种运算建立模糊数据上的函数.模糊数的表示主要有模糊区间数.模糊中心数.模糊集合数和隶属函数等. 自从1965年美国加州大学伯克利分校的

浅谈数据库设计技巧

说到数据库,我认为不能不先谈数据结构.1996年,在我初入大学学习计算机编程时,当时的老师就告诉我们说:计算机程序=数据结构+算法.尽管现在的程序开发已由面向过程为主逐步过渡到面向对象为主,但我还是深深赞同8年前老师的告诉我们的公式:计算机程序=数据结构+算法.面向对象的程序开发,要做的第一件事就是,先分析整个程序中需处理的数据,从中提取出抽象模板,以这个抽象模板设计类,再在其中逐步添加处理其数据的函数(即算法),最后,再给类中的数据成员和函数划分访问权限,从而实现封装. 数据库的最初雏形据说源

浅谈数据库设计技巧(上)(转)

转一篇他人写的数据库设计技巧,感觉也不一定都正确,开拓一下思路吧. 说到数据库,我认为不能不先谈数据结构.1996年,在我初入大学学习计算机编程时,当时的老师就告诉我们说:计算机程序=数据结构+算法.尽管现在的程序开发已由面向过程为主逐步过渡到面向对象为主,但我还是深深赞同8年前老师的告诉我们的公式:计算机程序=数据结构+算法.面向对象的程序开发,要做的第一件事就是,先分析整个程序中需处理的数据,从中提取出抽象模板,以这个抽象模板设计类,再在其中逐步添加处理其数据的函数(即算法),最后,再给类中

浅谈数据库设计技巧(下).txt

技巧|设计|数据|数据库|数据库设计 三.多用户及其权限管理的设计 开发数据库管理类的软件,不可能不考虑多用户和用户权限设置的问题.尽管目前市面上的大.中型的后台数据库系统软件都提供了多用户,以及细至某个数据库内某张表的权限设置的功能,我个人建议:一套成熟的数据库管理软件,还是应该自行设计用户管理这块功能,原因有二: 1.那些大.中型后台数据库系统软件所提供的多用户及其权限设置都是针对数据库的共有属性,并不一定能完全满足某些特例的需求: 2.不要过多的依赖后台数据库系统软件的某些特殊功能,多种大

浅谈数据库设计技巧(下)

技巧|设计|数据|数据库|数据库设计 三.多用户及其权限管理的设计 开发数据库管理类的软件,不可能不考虑多用户和用户权限设置的问题.尽管目前市面上的大.中型的后台数据库系统软件都提供了多用户,以及细至某个数据库内某张表的权限设置的功能,我个人建议:一套成熟的数据库管理软件,还是应该自行设计用户管理这块功能,原因有二: 1.那些大.中型后台数据库系统软件所提供的多用户及其权限设置都是针对数据库的共有属性,并不一定能完全满足某些特例的需求: 2.不要过多的依赖后台数据库系统软件的某些特殊功能,多种大