重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
其实早期得互联网公司曾经不仅是Oracle 客户,还都是大客户,最典型的代表有两个,一个是亚马逊,一个是阿里巴巴,后来两者都纷纷去掉了O,可见并不是什么ZZ因素,一定有一些原因,我们一起来逐步拨开看看:
创新互联建站长期为成百上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为广西企业提供专业的成都做网站、成都网站建设,广西网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。
1.Oracle数据库到底是为什么设计的?
Oracle数据库的理论源于1970年的一个论文, "A Relational Model of Data for Large Shared Data Banks". 在这个论文中,提出了一个数据库的经典模型,也就是今天所谓的关系行数据库 Relational Database. 这个论文,在当时验证了关系模型的一些优势。后来IBM基于这个论文开发了一个东西,叫SQL语言。 但是很奇怪的是,IBM没有更快的基于SQL语言去开发一个数据库,而Oracle在1979年第一个开发了商业级支持SQL语言的数据库产品。 当时,数据库主要处理的一个核心问题,就是几个特点ACID,鉴于篇幅,我们无法论述其中的意思,但是其中最有意思的就是一致性的C。什么意思呢,就是以银行交易为例,你如果在取钱的一瞬间查询余额有500,这个时候你取款,但是你恰好也告诉你家人在同一时间查询,如果查询到有500,他们也同时取款,会不会都成功呢?这个一致性的问题,对于银行要求是强一致性,也就是不能有半点差错。
2. 互联网时代需要的数据库是什么?
到了互联网时代,情况突然变了。比如我们都喜欢的知乎,微博这些信息流的App。 如果我发帖的瞬间,同时可能有很多人都在发帖,如果我们的App在全世界都在用,瞬间的用量峰值可能会因为某个热点事件突然变得很高,这个和上世纪80年代的企业级应用完全不同,即便是银行,我们还是可以保证当时的峰值大概有多少,因为营业点和ATM机的数量也是有限的,那时候你无法在手机上直接处理任何一笔交易。但是互联网的到来改变了一切,这个峰值不仅难以预估,而且可能和平时的平均值差别巨大。这样为了确保一个峰值,就去购买峰值所需的Oracle的License数量可能特别大。(Oracle是按照一个类似CPU数量或者用户数量来确定价格,你可以简单理解为用的峰值越高,你需要买的license越贵),这是一笔巨大的花费不说,而且还有另外一个问题。
3. 互联网时代的应用需求不同。
在我之前的一个回答里面写道了, 亚马逊工程师在优化自身的数据库的时候, 他们发现“:” 大约70%的操作是键值类型的,其中只使用主键,只返回一行。大约20%的用户会返回一组行,但仍然只对单个表进行操作。“这是一个伟大的发现——70%的操作竟然都没有使用关系数据库的核心功能!为什么会这样呢?因为互联网时代的应用发生了变化。我举个例子,你如果设计一个类似亚马逊的电商网站的购物车,你允许客户把自己想买的东西放在里面。但是你设想一下,如果突然某个畅销的产品被卖家下架了,但是这个产品被很多的客户放在购物车里,你回想一下,银行交易需要确保的那种强一致性,在这里有必要么?如果你想强一致性,就需要这个商品下架的时候,清空每一个曾经加入购物车的这个商品。这样任何一个修改产品的操作,都可能有无数个关联的交易在那里等着更新,可能商品的目录更新这个事情,就会变得巨慢无比,而且毫无意义。为什么说毫无意义呢,比如我在9点购物车放了一部手机,到10点商家卖光了,把这个产品下架了,这个时候如果商家只是在自己店面的页面更新,但是你的购物车并不实时更新,即使最差的情况是什么呢,就是10点的同时,你提交了一个购买的请求,这个购买的请求是需要保持一致性的,这个时候商家会返回一个失败,因为这个商品不存在。你再刷新一看,哦,卖光了。。。你的用户体验丝毫不受影响。再比如互联网的微博,如果我发一个微博就发上去,更新的时候,我不需要强一致性更新,那么可能和我距离近的朋友第一时间看到了,距离远的朋友可能稍晚一些看到了,有关系么?基本没什么影响,这些叫做分布式处理的方式在互联网应用非常普遍。
4. 互联网时代有了更多选择
一方面开源数据库逐步成熟,MySQL, Postgre这些后期之辈,陆续成熟且有越来越多的程序员能够熟练掌握,并且利用开源实现接近商业数据库的能力;另外一个方面,云厂商的出现让这个门槛更低,你不敢保证MySQL使用达到商业数据库的可靠性,你可以借助云厂商的产品,比如亚马逊云计算的托管数据库Aurora(兼容MySQL),这里非广告,只是告诉大家这种云厂商的产品让你用开源,性能和商业数据库接近,并且价格低廉,且无需运维或者很少运维成本,这样的情况下,中小互联网厂商就更多采用云厂商的托管开源数据库,自然不用Oracle这么昂贵的产品。
5. 数据发生了变化
前面讲到微博这种信息流的数据格式很明显和银行交易类的关系格式有重大区别。其实互联网时代,日志,物联网等产生了更多奇怪的数据格式,比如时序数据,一个物联网的温度计,可能每一毫秒钟发一个温度信息,你如果拿关系数据库去存,可能很快就爆表了。。。但是物联网就是这样,而且这种数据几乎从不更改,就是按照时间序列一直存。比如股票交易所的大盘数据也是类似,这种特殊数据格式带来的需求在过去可能用关系数据库凑合一下就可以了,但是今天,越来越多的不同类型格式需求,就需要按需设计和采用不同的数据库。这些数据库因为有云的托管,你也不太需要运维,这样采用的成本也不高,比如亚马逊aws的Timestream数据库,官方号称两百万次写入1KB的数据,价格才一美金,于是,越来越多的企业开始按需去采用专门构建的数据库,而且大量采用云上托管,这些都不是Oracle数据库可以做的。
所以,各方面的综合因素,导致今天的Oracle跟不上时代,也就逐步被慢慢取代了。前几天,看到Gartner的全球数据库市场排名,亚马逊AWS取代了Oracle在全球数据库厂商的位置,一个时代就这样慢慢的被改变了,不知道我当时在Oracle 10g某个Package里面的代码是否还在?
mysql
access
sql server
这三个都比ORACLE 占资源小,推荐mysql
WPS成功上市代表了信息化企业软件国产化的趋势。在雷涛看来,WPS不是简单复制后替代Windows office,而是找到了下一代产品需求。
以往无论是运营商还是银行核心系统,大架构都垄断在西方的 IOE(IBM、Oracle、EMC)这三座大山里。直到2008年阿里提出去“IOE”运动,开始助推信息化软件国产化浪潮。
天云数据就是其中最早一批入场者。2010年为了建立中国完整的云计算产业链,中国宽带之父田溯宁投资建设云基地,天云数据便由此孵化,初备雏形。
2015年,雷涛带领创始团队们正式成立天云数据,率先切入金融领域。天云提供了国内领先的国产HTAP数据库Hubble,完成了“去IOE”中最困难的部分,替代金融A类核心系统惯用的西方IOE架构,在银行的联机事务中解决A类核心系统减负问题。此外,为了降低AI使用门槛,天云数据还推出AI PaaS平台MaximAI,逐步将数据价值逐渐扩展到能源、医药、军事等其它行业。
目前天云数据有70多家行业内大企业客户,单笔合同200-500万,纯软件年营收过亿。
融资方面,天云数据2018年曾获得曦域资本、华映资本B轮1亿人民币投资。
作为行业老兵,雷涛在北美跨国公司有20多年的技术管理经验, 2005年便入席SNIA存储工业协会中国区技术委员会联合主席,CCF中国计算机学会大数据专委会委员。
2011年在云基地时期,雷涛和创始团队通过BDP大数据平台负责了众多运营商业务,如联通的数据魔方、移动总部、南方基地等,2015年天云数据正式独立后,雷涛为了避免同业竞争,选择先聚焦在金融领域。
“天云数据的目标是替代 Oracle 和 SAS ”。云基地时期的积累让天云数据一开始就有高起点,首单就接下了光大银行的核心系统——OLTP线交易系统。比如银行能在全国所有营业厅实时实现OOTD交易,实时查询存钱取钱数额,整个环节涉及的技术都是天云数据早期对Oracle的一些替代。
但之后在多次的项目操作过程中雷涛发现,在几百万条交易规格的强一致性下,数据的移动性、计算框架的变化、联机事务同时要做大规模并行计算,这对计算场景的通用性、即时性和全量数据要求极高,传统 Oracle架构根本无法适应。
“在Oracle架构之上,还需要升级满足新需求”。
于是天云数据自主研发HTAP国产分布式数据库Hubble。与传统 IT 架构处理失误需要联机分析和分开处理不同,HTAP 数据库能够在一份数据上同时支撑业务系统运行并做 OLAP 场景,避免在线与离线数据库之间大量的数据交互,为系统减负。
HTAP国产分布式数据库Hubble替代了Oracle一体机,核心表2000余张80T左右、400亿条交易数据、提供56只服务应用交易、满足500个用户并发、500ms交易服务响应、每天在线交易量超200万、占整个银行核心交易量的10%,让银行面向柜面系统可提供7*8小时A类实时核心交易,面向手机网银系统可提供7*24小时A类实时核心交易。
从集中式Oracle切换到分布式HTAP,也解决了数据库扩展性的问题。比如天云数据让光大银行解决了 历史 数据查询问题,以往 历史 查询只能查到2年前,但在分布式技术上线后,可以查询15年前所有交易数据,同时让银行柜面系统以及手机APP可以无数人同时查询。
而在BI逐步转向AI的过程中,复杂的商业流程经算法重构。过去要把数据拿到SAS平台先分析,一层一层地把数据提出来搭建。但现在通过分布式技术,流程趋于扁平化,可以实现毫秒级的服务响应。
天云数据一开始就撬动的是行业头部资源。目前天云数据有光大银行、兴业银行、中信银行、中泰证券、中国石油、国家统计局等70余家行业内大企业客户,分布在金融、能源、医药、政府军事等领域,单笔合同级别超百万
针对每个垂直行业,天云数据都会成立一个子公司来专注赛道。目前天云数据有160人,技术人员超六成。
在雷涛看来,如果一年600个项目,全是5万、15万等碎片化的订单,公司总是重复满足初级客户的简单需求,技术很难沉淀和深入。“在当下成长阶段,打造产品需要在用户想要什么和你想做什么中找到平衡”。
对于雷涛而言,专注头部大B发展有两大发展潜力。一方面,大B拥有机器学习的普遍能力和实验室,更容易接受新产品。另一方面,天云数据交付产品和交付服务的同时也在转移大B客户的数据价值。
“AI本身是一个知识生产过程,它能把大型企业规则、流程的经验价值快速地抽样出来进行复制,赋能行业内其它客户甚至类似的其它行业。”
但在头部客户更定制化、个性化的情况下,天云数据是否失去了很强的复制能力?
雷涛解释到,虽然每个企业要求不尽相同,但都在不大的池子里找数据库。企业从海量数据中对数据进行迁徙、清洗、去重,可以去找合适的AI方法让它产生业务的价值,此过程具有通用性。
谈到核心壁垒,雷涛认为天云数据壁垒就是数据的复制价值。
壁垒的构建可分为两个阶段。第一个阶段是前沿 科技 本身的壁垒,比的是效率和产品核心价值,谁能够扎得深和更好的交付,谁就能拔得头筹。而作为国内最早研发大数据和人工智能的团队,天云数据有一定的技术先发优势。
第二个阶段是推理端的服务。数据资源的价值需要通过机器学习进行提炼,形成知识,进而封装成推理服务服务于行业。比如某保险公司20年长周期发生的重疾赔付定价上学习出来的特征和内容能够快速地移植到保险行业,而头部大企业客户给天云数据带来很优质的训练数据库。
未来AI将引爆万亿级大市场,但目前渗透率不到1%,这给各企业留有众多机会和想象空间。但无论哪种圈地方式,最终比的是速度、服务的稳定性以及产品化的能力。
MySql中代替Oracle的EMPTY方法
使用以下代码
String sql = "insert into SSC_InsuranceCardMovement(oid,managedOrgId,cardFile) values( , ,NULL) ";
MySql中代替Oracle的instr方法
-- Function "INSTR2" DDL
CREATE FUNCTION `INSTR2`(v_string varchar(5000), v_delimiter varchar(20), pos int,nth int) RETURNS varchar(5000)
begin
declare icount int default 0;
declare len int default 0;
declare len1 int default 0;
declare lth int default 0;
declare lth1 int default 0;
declare str1 varchar(5000) default '';
set len = length(v_string);
set len1 = length(v_delimiter);
set lth = instr(v_string ,v_delimiter);
if lth=0 then
set icount = lth;
else
if pos is null then
set icount = lth;
elseif pos 0 then
set icount = locate(v_delimiter,v_string,len+pos-1);
elseif pos = 0 then
set icount = 0;
elseif pos = 1 then
if nth is null then
set icount = lth;
elseif nth =1 then
set icount = if (length(substring_index(v_string ,v_delimiter,nth))=0 or length(substring_index(v_string,v_delimiter ,nth))=length(v_string ),0,length(substring_index(v_string ,v_delimiter,nth))+1);
else
set icount = 0;
end if;
else