楼主: 丸喵喵

【大话IT】磁盘已死?内存计算的数据时代已全面降临?

[复制链接]
论坛徽章:
40
2014年新春福章
日期:2014-02-18 16:42:02秀才
日期:2015-12-18 09:28:57秀才
日期:2015-12-14 14:51:162015年中国系统架构师大会纪念徽章
日期:2015-09-16 12:54:392014系统架构师大会纪念章
日期:2015-09-16 12:54:392013系统架构师大会纪念章
日期:2015-09-16 12:54:392012系统架构师大会纪念章
日期:2015-09-16 12:54:392011系统架构师大会纪念章
日期:2015-09-16 12:54:392010系统架构师大会纪念
日期:2015-09-16 12:54:39秀才
日期:2015-12-25 15:31:10
41#
发表于 2016-11-24 14:44 | 只看该作者

1.您在工作过程中是否使用过内存数据库?您对内存数据库有哪些使用心得和印象?
答:用过。而且还用过不少。内存数据库就是在内存中开辟出来一大块空间。把数据存放在里面。或者说把数据库安装在内存中而不是安装在磁盘上。特点就是快啊。因为是内存,内存的速度是磁盘的1万倍。所以在磁盘上执行10000秒(3个小时的),在内存中1秒或者几秒就完成了。这个效率是非常高的。内存数据库有关系型的也有非关系型的。比如下面说的timesten,也有非关系型的比如memcache,有可以持久化的比如redis,也有不能持久化的,memcache。
我还要说有一种既然内存数据库是把数据库运行的时候加载到内存里面,那么按照这个理论,韩国把数据全部加载到内存里面的数据库也不是叫内存数据库呢?应该不是,有区别的。比如Oracle和MySQL都有内存表的概念,我们可以将表都加载到内存中这样性能上差不多了,但是只是内存表不是内存库。

2.SAP HANA和Oracle TimesTen是内存数据库的两大巨头,您认为它们各自都有哪些优缺点,两者哪个更胜一筹?
答:hana听说过,没用过。听说亚马逊就是用的这个,非常好。Oracle的 timesten,我们通常叫他TT。TT我用过因为是甲骨文自己的所以和自己的Oracle结合的很好。而且在Oracle中怎么用那么在TT中就怎么用。没用区别使得移植起来不用改代码就行了。然后得到的性能提升是很大的,而且还是关系型数据库对事物的支持也很好。据说上证交易所用过,平安科技也用过。缺点就是收费啊。TT我用的时候想让他承载更多的DML,然后定期和底层的Oracle同步,这样琐碎的dml就变成批量的作业了,这样用来减少redo和undo,从而减轻对Oracle的压力。但是后来发现没成功,内存的变化基本都同步到底层Oracle了。我希望的是定时而不是实时。也不知道是不是我设置问题。

3.现在,内存计算的势头不错,您是否看好内存数据库的未来?内存数据库会碾压传统数据库吗?
答:完全看好,现在的互联网没有不用内存数据库的。没有哪家是不用的。内存数据库会对传统的数据库有一定的影响。但是全部都是内存那成本是很高的。1T的磁盘和1T的内存不能比较的。而且一个机器磁盘不够可以加磁盘阵列。但是内存不够了,再加也要看内存槽有没有。内存没磁盘那么好扩展。除非是spark这样的结合yarn,分布式内存管理。
而传统数据库只要使用SSD或者闪存就可以缩短与内存数据库的性能差距,而价格也没内存那么贵。这样就不必全内存数据库了。

4.如果要您推荐几款内存数据库,您会推荐什么?SAP HANA、IBM SolidDB、Oracle TimesTen或者其他
答:关系型的 我推荐TT 和hana(没用过,但是亚马逊用了,用了都说好应该好)、非关系型的我推荐redis(可以集群可以持久化的场景),也推荐memcache 有些状态频繁读写,不需要持久化,单机也可以应付的场景。没有最好的,只有最合适的。

1人打赏

使用道具 举报

回复
论坛徽章:
2
2012新春纪念徽章
日期:2012-01-04 11:51:22秀才
日期:2016-12-21 16:55:07
42#
发表于 2016-11-25 11:50 | 只看该作者
个人认为,所谓的内存计算数据库只是技术的进步。对于是否需要磁盘,我认为长期存储的媒体技术发展会有新的存储技术来代替磁盘,但长期存储设备,也就是所谓的磁盘一定会继续存在。

使用道具 举报

回复
论坛徽章:
77
20周年集字徽章-周
日期:2020-10-28 14:51:04秀才
日期:2017-03-28 15:11:09秀才
日期:2017-03-20 13:42:20秀才
日期:2017-03-01 13:53:39秀才
日期:2017-02-22 15:18:00秀才
日期:2017-02-22 15:16:26秀才
日期:2017-02-22 15:14:12进士
日期:2017-02-20 09:43:02举人
日期:2017-02-20 09:42:18进士
日期:2017-02-20 09:42:18
43#
发表于 2016-11-27 10:47 | 只看该作者
磁盘没那么容易消失的。

使用道具 举报

回复
论坛徽章:
100
问答徽章
日期:2013-12-02 14:55:04喜羊羊
日期:2015-03-04 14:49:39懒羊羊
日期:2015-03-18 13:56:32射手座
日期:2015-08-25 12:25:52秀才
日期:2015-11-12 17:43:40ITPUB15周年纪念
日期:2016-10-13 13:15:34技术图书徽章
日期:2016-11-30 11:28:29喜羊羊
日期:2015-03-10 17:14:25暖羊羊
日期:2015-04-15 09:12:29慢羊羊
日期:2015-06-16 14:25:04
44#
发表于 2016-11-28 10:01 | 只看该作者
SAP HANA刚出时还买了几本书学习了一下,没有真正用过。为看书而看书吧

使用道具 举报

回复
求职 : 信息技术经理/主管
论坛徽章:
24
授权会员
日期:2008-02-29 10:00:41秀才
日期:2016-01-25 14:55:31秀才
日期:2016-01-13 12:14:26紫蜘蛛
日期:2014-11-05 16:43:53ITPUB社区12周年站庆徽章
日期:2013-10-08 17:44:42ITPUB社区12周年站庆徽章
日期:2013-10-08 14:57:28ITPUB社区12周年站庆徽章
日期:2013-10-08 14:54:39红旗
日期:2013-09-05 15:55:56鲜花蛋
日期:2013-03-03 22:23:072013年新春福章
日期:2013-02-25 14:51:24
45#
发表于 2016-11-28 15:40 | 只看该作者
没在实际的生成环境用过,效果如何不知道,听听大神们的说法

使用道具 举报

回复
论坛徽章:
65
生肖徽章2007版:兔
日期:2011-01-20 12:58:49秀才
日期:2016-12-21 16:55:07秀才
日期:2016-03-24 09:10:242016猴年福章
日期:2016-02-23 09:58:34秀才
日期:2015-10-08 17:57:58双子座
日期:2015-09-17 10:07:092015年新春福章
日期:2015-03-06 11:57:312015年新春福章
日期:2015-03-04 14:19:11马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11
46#
发表于 2016-11-28 22:17 | 只看该作者
座等高论。学习新知识

使用道具 举报

回复
论坛徽章:
4
妮可·罗宾
日期:2016-11-29 22:14:05秀才
日期:2016-12-21 16:55:07罗罗诺亚·索隆
日期:2017-12-31 12:49:06托尼托尼·乔巴
日期:2018-06-11 14:52:14
47#
发表于 2016-11-29 00:21 | 只看该作者
本帖最后由 yueli34 于 2016-11-29 01:29 编辑

1.您在工作过程中是否使用过内存数据库?您对内存数据库有哪些使用心得和印象?
单位使用hana和redis。
hana很多功能也是要用磁盘的,为了提速,单位给hana服务器装了固态盘raid阵列。redis就是给oracle提速用。
心得是:
1)hana和TimesTen是付费产品,各方面都很强大。
2)redis等免费开源产品缺点:事务支持差;没有sql引擎所以处理复杂业务逻辑性能很差。当然逻辑可以放到程序里处理,但是oracle分析函数、cube、rollup等强有力的功能就不具备了。
3)redis弄得不好或者业务逻辑复杂的情况下,远远比oracle慢。oracle的sql引擎强大,此外还可以把执行计划和表等对象都缓存在BC中。弄好了,oracle速度不比redis慢,有时候甚至比redis快得多。
4)内存库离开磁盘,就是传统磁盘库做加速。所以内存库终究离不开磁盘或传统磁盘库。

2.SAP HANA和Oracle TimesTen是内存数据库的两大巨头,您认为它们各自都有哪些优缺点,两者哪个更胜一筹?
HANA组件很多,但是额外的功能也要付费。走的是SAP产品线。TimesTen没有那么多功能。TimesTen特定行业的用户爱用,据我了解广电行业搞TVOD或者军事用途的TimesTen对有一定需求。因为TVOD等业务对反映速度要求苛刻。
个人感觉两者定位不一样,不具备太大可比性。功能上,HANA胜出,当然花费也大。

3.现在,内存计算的势头不错,您是否看好内存数据库的未来?内存数据库会碾压传统数据库吗?
内存库会进一步发展,前景很好。
redis等大行其道的原因是,nosql技术上比较简单、成本低。大部分业务逻辑都是比较简单的查询业务。对于这样的业务,oracle调优复杂,特别是简单的sql语句,调优空间反而小。而redis的nosql可以以更低的技术要求和成本提高速度。一个资深DBA才能解决的问题,一个普通程序员用开源的nosql内存库就能给解决了。技术要求大大降低了,加上开源库不用付费,所以企业成本也就大大降低了。还不用依赖DBA的个人技术,软件质量更有保障。
但是不会碾压传统数据库。原因是:
1)内存库方面:
对于开源redis等内存库,内存库有的功能,传统库都有。开源内存库本质上是简化的传统数据库,弄得不好或者业务逻辑复杂条件下,redis速度比oracle慢。使用上,redis等主要还是给oracle做提速。
HANA、TimesTen虽然强大,但是太贵,很难普及。
2)磁盘库方面:
磁盘库本来都是带缓存的,内存便宜了,对磁盘库性能也有很大提高。
传统磁盘库也在改进,磁盘库在存储层面上在改进(比如exadata的cell节点或者emc重复数据消除等等技术,能大大降低磁盘IO),引入in-memory、flash等新技术。传统磁盘库对内存利用上,完全不输于内存库。有些方面甚至比内存库好。
综上所述:
redis等开源内存库在功能上无法完全取代传统磁盘库。
HANA、TimesTen等则无法以比传统磁盘库更低的成本提高业务速度。现在实时大数据方面开源产品也有,不非得用HANA。
所以现在情况下,内存库无法取代磁盘库,内存库主要用于提高某项业务的速度或者用于OLAP。

4.如果要您推荐几款内存数据库,您会推荐什么?SAP HANA、IBM SolidDB、Oracle TimesTen或者其他。
决定用什么库需要根据具体需求对标。OLAP业务,钱多的话用HANA。




使用道具 举报

回复
论坛徽章:
59
2013年新春福章
日期:2013-02-25 11:02:12双鱼座
日期:2015-07-31 08:13:07秀才
日期:2015-08-24 09:44:20秀才
日期:2015-08-24 09:51:48秀才
日期:2015-10-19 15:50:39ITPUB14周年纪念章
日期:2015-10-26 17:23:44秀才
日期:2015-11-30 09:59:23秀才
日期:2015-12-14 15:02:13秀才
日期:2015-12-21 09:48:11秀才
日期:2016-01-21 13:37:04
48#
发表于 2016-11-29 08:57 | 只看该作者
没有用过啊

使用道具 举报

回复
论坛徽章:
1
秀才
日期:2016-12-21 16:55:07
49#
发表于 2016-11-29 14:07 | 只看该作者
我接触软件比较少,第一次听说内存数据库,需要学习

使用道具 举报

回复
论坛徽章:
16
秀才
日期:2016-12-21 16:55:07秀才
日期:2017-08-18 11:06:45秀才
日期:2017-08-18 11:02:47秀才
日期:2017-07-11 14:19:35秀才
日期:2017-04-06 18:09:28秀才
日期:2017-03-28 15:59:38秀才
日期:2017-03-28 15:11:09秀才
日期:2017-03-27 17:42:03秀才
日期:2017-03-20 13:42:20秀才
日期:2017-03-01 13:53:39
50#
发表于 2016-11-29 15:41 | 只看该作者
1、介绍几款内存数据库产品:
■ Oracle TimesTen
Oracle TimesTen是Oracle从TimesTen公司收购的一个内存优化的关系数据库,它为应用程序提供了实时企业和行业(例如电信、资本市场和国防) 所需的即时响应性和非常高的吞吐量。Oracle TimesTen可作为高速缓存或嵌入式数据库被部署在应用程序层中,它利用标准的 SQL 接口对完全位于物理内存中的数据存储区进行操作。
■ Altibase
Altibase是一个在事务优先的环境中提供高性能和高可用性的软件解决方案。它提供高性能、容错能力和事务管 理能力,特别适合通信、网上银行、证券交易、实时应用和嵌入式系统领域。Altibase能够最大限度地发挥数据库服务系统的潜力,增强数据服务器的处理 能力。Altibase支持客户端/服务器架构或嵌入式架构。其中客户端/服务器架构非常适合一般的应用。而嵌入式架构将应用程序嵌入到数据库服务器,适 合于有高时效要求的实时系统。
■ eXtremeDB
eXtremeDB实时数据库是McObject公司的一款特别为实时与嵌入式系统数据管理而设计的数据库,只有 50K到130K的开销,速度达到微秒级。eXtremeDB完全驻留在主内存中,不使用文件系统(包括内存盘)。eXtremeDB采用了新的磁盘融合 技术,将内存拓展到磁盘,将磁盘当做虚拟内存来用,实时性能保持微秒级的同时,数据管理量在32BIT下能达到20G。

2、下面以例子来介绍内存数据库的应用:
电信计费数据的加载
电信的二次批价和实时累账是计费系统中的两个必备功能。
所谓二次批价是相对于一次批价来说的。
一次批价是按照国家标准资费来进行价格计算,比如: 全球通每分钟本地通话为0.4元,在一次批价完成后,会根据这个用户的套餐进行再一次的计算。以北京全球通用户接听4分钟的电话为例,一次批价完成后,这条话单的价格是1.6元,如果这个用户参加了10元包月接听套餐,那么在二次批价后,这次通话的费用就为0元。
一次批价是用于各大运营商之间结算的,而二次批价是针对用户个人的。
实时累账是将用户从每月1号到目前为止的所有费用累加起来,也就是用户目前可以通过10086查到截止到前一天的实时话费。累账值可以帮助用户控制高额话费或是供用户即时查询消费信息。
二次批价和实时累账过程涉及用户资料、用户套餐等与用户相关的信息,电信支撑系统在开始批价时必须加载这些数据。稍大一点的省级运营商的这些数据就会超过1000万条,计费处理模型也由于套餐的组合、产品的组合以及不同的优惠规则变得相当复杂,加载这部分数据对系统而言是一笔不小的开销,这就使得现在的计费处理速度比较慢,而且很难做到对数据的实时更新。内存数据库的引入在一定程度上解决了这个问题。
在计费二次批价过程中数据量最大的是详单数据,这部分数据不用放在内存数据库中,每处理完一个话单文件或达到设定的提交记录数时直接操作磁盘数据库,不会影响系统性能。最急切的是将用户资料、套餐、营业套餐和计费套餐对应关系数据、计费套餐模型数据及用户累计数据放到内存数据库中,这部分数据查询操作远比数据新增和更新操作要频繁。除了这些数据外,当然还有应用需要的其他数据也都可以加载到内存数据库。
在采用内存数据库后,用户通过营业部或客户查询实时话费的时候完全可以做到实时,比目前只能提供查询到前一天的实时话费在业务上有了质的飞跃。因为系统在处理这部分数据时查询流程和以前的完全一样,但系统省去了以往内存中的数据和磁盘数据库数据同步的环节,所以就能做到了实时查询。对于信控来说也同样,以往系统在累完账后要按照一定周期刷新信控数据,这就存在一个时间差,不能够完全做到实时。
而采用内存数据库后,信控可以直接取得内存数据库中的实时话费累计表中的数据,完全实现实时预警、停机。二次批价和累账中采用内存数据库后,对防欺诈、收入保障系统也有相当大的好处,这样能够充分保证运营商的切身利益。
另外,在采用内存数据库后,整体提高了系统批价、累账的处理速度,大大缓解访问磁盘数据库的压力,提高数据查询、修改、删除的效率,也为后付费和预付费的融合提供了可能。

1人打赏

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表