
SAP HANA(High-Performance Analytic Appliance)是 SAP 公司于 2011 年推出的基于 内存计算技术,面向企业分析性应用的产品。左图 的系统架构示意图中可以看出, HANA 产品主要包括内存计算引擎和 HANA 建模工具两部分。它支持从 SAP 商务套件中 同步更新业务数据,或者从 SAP BW(SAP 商务智能产品)和其他第三方数据源中批量导 入数据,在 HANA 中进行运算后,提供给 SAP BI 客户端或者其他第三方展现工具进行分 析和展现。
Oracle Exalytics 内存分析一体机是面向分析的集成设计系统,可以无限制提供最佳可 视化分析和更智能的分析应用程序。 如图 所示, Oracle Exalytics 内存分析一体机的产品架构包括 3 个部分: 内容分析 硬件、内存分析软件和经过优化的 Oracle 商务智能基础套件(Oracle BI Foundation)。内存分析硬件部分是一台为基于内存计算的商务智能而特别优化的服务器,具有提供 强劲计算能力的 40 核中央处理器,高达 1TB 的内存以及快速的网络. 内存分析软件部分的核心是 Oracle TimesTen 内存数据库。它是为 Exalytics 平台而特 别优化的内存分析数据库,包括了很多 Oracle Exalytics 平台特有的功能。Oracle 商务智能基础套件部分受益于 Oracle Exalytics 内存分析一体机的大容量内存、 处理器、并发处理能力、存储、网络、 *** 作系统、内核和系统配置等,可以提供明显优于传统软件的查询响应性、用户可用性和 TCO。
Oracle 内存数据库TimesTen 是一个基于内存计算的关系数据库, 提供了响应时间极 短且吞吐量极高的应用程序,可满足各行业应用程序的需求。 TimesTen 是一个可嵌入到应用程序中的数据库, 通过消除进程间通信和网络 开销,进一步提高数据库 *** 作的性能。Oracle 内 存 数 据 库 TimesTen 使 用 行 级 锁 定 和 提 交 后 读 取 (mitted-read) 隔离,通过事务日志记录与数据库检查点相结合实现了基于磁盘的持久 性和可恢复性。TimesTen 通常与多用户和多线程应用程序一起部署,应用程序直接通过 JDBC、 ODBC、 Oracle 调用接口、 Pro*C/C++ 和Oracle PL/SQL 编程接口, 使用标准SQL 访问TimesTen 数据库。若运行在不同服务器上的多个应用程序共享一个数据库时,则使 用常规的客户端/服务器访问方式。
IBM solidDB 是一个内存数据库,专为获取极高的速度和可用性而进行优化。如图 所示,IBM solidDB 既可以单独部署作为独立的数据库支持应用程序,也可 以部署为其他关系型数据库的加速缓存以提高应用程序性能。solidDB Universal Cache 功能将这些数据库中存储的性能关键型数据 缓存到solidDB Universal Cache 中,加快领先关系数据库的速度。solidDB Universal Cache 功能使用检查点和事务日志将数据持久保存在 磁盘上......>>
问题二:开源的内存数据库都有哪些 1.最简单的方法:
public static String reverse1(String str)
{
return new StringBuffer(str).reverse().toString()
}
2.最常用的方法:
public static String reverse3(String s)
{
char[] array = s.toCharArray()
String reverse = 注意这是空串,不是null
for (int i = array.length - 1i >= 0i--)
reverse += array[i]
return reverse
}
问题三:开源内存数据库有几种啊? 常见的有FastDB、SQLite、Berkeley DB、GigaBASE,H2等
问题四:几种常用的开源内存数据库性能比较 本人理解:orcal速度快但是维护不方便吗,费钱。mysql速度可以,维护方便,交orcal来说易上手。db2:大
问题五:开源的内存数据库有哪些支持SQL基准 选择数据库实例―右键属性―选择【内存】选择页―修改内存―确定
问题六:C/C++开发的开源的分布式内存数据库有哪些 1.最简单的方法:
public static String reverse1(String str)
{
return new StringBuffer(str).reverse().toString()
}
2.最常用的方法:
public static String reverse3(String s)
{
char[] array = s.toCharArray()
String reverse = 注意这是空串,不是null
for (int i = array.length - 1i >= 0i--)
reverse += array[i]
return reverse
}
问题七:哪位达人用过关系型的内存数据库而且是开源的 关系型数据库以行和列的形式存储数据,以便于用户理解。这一系列的行和列被称为表,一组表组成了数据库。表与表之间的数据记录有关系。用户用查询(Query)来检索数据库中的数据。一个Query是一个用于指定数据库中行和列的SELECT语句。关系型数据库通常包含下列组件: 客户端应用程序(Client) 数据库服务器(Server) Structured Query Language(SQL)Client端和Server端的桥梁,Client用SQL来向Server端发送请求,Server返回Client端要求的结果。现在流行的大型关系型数据库有IBM DB2、Oracle、SQL Server、SyBase、Informix、access、foxpro等。
问题八:C/C++开发的开源的分布式内存数据库有哪些 1.最简单的方法:public static String reverse1(String str){ return new StringBuffer(str).reverse().toString()}2.最常用的方法:public static String reverse3(String s) { char[] array = s.toCharArray()String reverse = 注意这是空串,不是null for (int i = array.length - 1i >= 0i--) reverse += array[i]return reverse} 3.常用方法的变形: public static String reverse2(String s){ int length = s.length()String reverse = 注意这是空串,不是null for (int i = 0i 问题九:要求实时数据需要存储到内存库 有开源内存数据库吗 朋友您好,很高兴为您解答问题
请把问题补充完整
大家才能给你提供完善的建议
相信您在知道这个平台
一定会有满意的收获
真诚希望能够帮助您,如果满意请采纳,祝您好运常伴。
问题十:什么情况下用内存数据库 相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘 *** 问能够极大地提高应用的性能。同时,内存数据库抛弃了磁盘数据管理的传统方式,基于全部数据都在内存中重新设计了体系结构,并且在数据缓存、快速算法、并行 *** 作方面也进行了相应的改进,所以数据处理速度比传统数据库的数据处理速度要快很多,一般都在10倍以上。内存数据库的最大特点是其主拷贝或工作版本 常驻内存,即活动事务只与实时内存数据库的内存拷贝打交道。显然,它要求较大的内存量,但并非任何时刻整个数据库都存放在内存,即内存数据库系统还是要处理I/O。
内存数据库是以牺牲内存资源为代价换取数据处理实时性的,内存数据库和磁盘数据库都是当今信息社会里每个企业所必须的关系型数据库产品,磁盘数据库解决的是大容量存储和数据分析问题,而内存数据库解决的是实时处理和高并发问题。两者的存在是相辅相成的,内存数据库的事务实时处理性能要远强于磁盘数据库。但是相对的,他的数据安全方面还没有达到磁盘数据库比肩的地步。
内存数据库将物理内存作为数据的第一存储介质,而将磁盘作为备份。随着电信业务的发展,系统对实时性的要求和对业务灵活修改的要求非常高,在此种情况下对于内存数据库的需求也越来越高。磁盘数据库的做法是将数据存入内存中进行处理,这种方式的可管理性及数据安全可靠性都没有保障。而内存数据库正是针对这一弱点进行了改进。
实际上,内存数据库并不是一项时髦技术,其出现于上世纪60年代末,但由于市场的需求原因在90年代后期才开始发展。作为新一代数据库,Altibase产品已经走向混合型数据库,其版本Altibase 4.0已经有一套自带的磁盘数据库,用户一旦购买了Altibase的内存数据库,就无须再购买磁盘数据库。它把热数据(经常被使用的、访问比较高的、经常要运算的数据)放在内存数据库里,而把历史性数据放在磁盘数据库里,可为用户进一步减少投资。
对于内存数据库而言,可以将同样数据库的部分内容存放于磁盘上,而另一部分存放于内存中。用户可以选择将数据存储在内存表中以提供即时的数据访问。若访问时间不紧急或数据存于内存中所占空间过大时,用户可将这些数据存入磁盘表中。
比如,在手机用户开始拔打电话时,如果应用基于内存数据库技术的混合数据管理引擎,就通过内存表检索其服务选项并立即验证用户身份,而将通话清单和计费清单归档到磁盘表中。从而,达到了速度与资源使用的平衡。
内存数据库的技术,一个很重要的特点,是可以对内存中的数据实现全事务处理,这是仅仅把数据以数组等形式放在内存中完全不同的。并且,内存数据库是与应用无关的,显然这种体系结构具有其合理性。内存引擎可以实现查询与存档功能使用的是完全相同的数据库,同时内存表与磁盘表也使用的是完全相同的存取方法。存储的选择,对于应用开发者而言是完全透明的。
对于内存数据库而言,实现了数据在内存中的管理,而不仅仅是作为数据库的缓存。不像其它将磁盘数据块缓存到主存中的数据库,内存数据库的内存引擎使用了为随机访问内存而特别设计的数据结构和算法,这种设计使其避免了因使用排序命令而经常破坏缓存数据库性能的问题。通过内存数据库,减少了磁盘I/O,能够达到了以磁盘I/O 为主的传统数据库无法与其相比拟的处理速度。
因此,内存数据库技术的应用,可以大大提高数据库的速度,这对于需要高速反应的数据库应用,如电信、金融等提供了有力支撑。
由于把大多数数据都放在内存中进行 *** 作,使得内存数据库有着比磁盘数据库高得多的性能表现,这一......>>
目录
- 数据库分类维度:关系型/非关系型、交易型/分析型
- NoSQL数据库的进一步分类
- OLTP市场规模:关系型数据库仍占营收大头
- 数据库市场份额:云服务和新兴厂商主导NoSQL
- 开源数据库 vs. 商业数据库
- 数据库三大阵营:传统厂商和云服务提供商
最近由于时间原因我写东西少了,在公众号上也转载过几篇搞数据库朋友的大作。按说我算是外行,没资格在这个领域品头论足,而当我看到下面这份报告时立即产生了学习的兴趣,同时也想就能看懂的部分写点心得体会分享给大家。
可能本文比较适合普及性阅读,让数据库领域资深的朋友见笑了:)
数据库分类维度:关系型/非关系型、交易型/分析型
首先是分类维度,上图中的纵轴分类为Relational Database(关系型数据库,RDBMS)和Nonrelational Database (非关系型数据库,NoSQL),横轴的分类为Operational(交易型,即OLTP)和Analytical(分析型,即OLAP)。
按照习惯我们先看关系型数据库,左上角的交易型类别中包括大家熟悉的商业数据库Oracle、MS SQL Server、DB2、Infomix,也包括开源领域流行的MySQL(MariaDB是它的一个分支)、PostgreSQL,还有云上面比较常见的SQL Azure和Amazon Aurora等。
比较有意思的是,SAP HANA正好位于交易型和分析型的中间分界处,不要忘了SAP还收购了Sybase,尽管后者今天不够风光了,而早年微软的SQL Server都是来源于Sybase。Sybase的ASE数据库和分析型Sybase IQ还是存在的。
右上角的分析型产品中包括几款知名的列式数据仓库Pivotal Greenplum、Teradata和IBM Netezza(已宣布停止支持),来自互联网巨头的Google Big Query和Amazon RedShift。至于Oracle Exadata一体机,它上面运行的也是Oracle数据库,其最初设计用途是OLAP,而在后来发展中也可以良好兼顾OLTP,算是一个跨界产品吧。
再来看非关系型数据库,左下角的交易型产品中,有几个我看着熟悉的MongoDB、Redis、Amazon DynamoDB和DocumentDB等;右下角的分析型产品包括著名的Hadoop分支Cloudera、Hortonworks(这2家已并购),Bigtable(来自Google,Hadoop中的HBase是它的开源实现)、Elasticsearch等。
显然非关系型数据库的分类要更加复杂,产品在应用中的差异化也比传统关系型数据库更大。Willian Blair很负责任地对它们给出了进一步的分类。
NoSQL数据库的进一步分类
上面这个图表应该说很清晰了。非关系型数据库可以分为Document-based Store(基于文档的存储)、Key-Value Store(键值存储)、Graph-based(图数据库)、Time Series(时序数据库),以及Wide Cloumn-based Store(宽列式存储)。
我们再来看下每个细分类别中的产品:
文档存储 :MongoDB、Amazon DocumentDB、Azure Cosmos DB等
Key-Value存储 :Redis Labs、Oracle Berkeley DB、Amazon DynamoDB、Aerospike等
图数据库 :Neo4j等
时序数据库 :InfluxDB等
WideCloumn :DataStax、Cassandra、Apache HBase和Bigtable等
多模型数据库 :支持上面不只一种类别特性的NoSQL,比如MongoDB、Redis Labs、Amazon DynamoDB和Azure Cosmos DB等。
OLTP市场规模:关系型数据库仍占营收大头
上面这个基于IDC数据的交易型数据库市场份额共有3个分类,其中深蓝色部分的关系型数据库(RDBMS,在这里不统计数据挖掘/分析型数据库)占据80%以上的市场。
Dynamic Database(DDMS,动态数据库管理系统,同样不统计Hadoop)就是我们前面聊的非关系型数据库。这部分市场显得小(但发展势头看好),我觉得与互联网等大公司多采用开源+自研,而不买商业产品有关。
而遵循IDC的统计分类,在上图灰色部分的“非关系型数据库市场”其实另有定义,参见下面这段文字:
数据库市场份额:云服务和新兴厂商主导NoSQL
请注意,这里的关系型数据库统计又包含了分析型产品。Oracle营收份额42%仍居第一,随后排名依次为微软、IBM、SAP和Teradata。
代表非关系型数据库的DDMS分类中(这里同样加入Hadoop等),云服务和新兴厂商成为了主导,微软应该是因为云SQL Server的基础而小幅领先于AWS,这2家一共占据超过50%的市场,接下来的排名是Google、Cloudera和Hortonworks(二者加起来13%)。
上面是IDC传统分类中的“非关系型数据库”,在这里IBM和CA等应该主要是针对大型机的产品,InterSystems有一款在国内医疗HIS系统中应用的Caché数据库(以前也是运行在Power小机上比较多)。我就知道这些,余下的就不瞎写了。
开源数据库 vs. 商业数据库
按照流行度来看,开源数据库从2013年到现在一直呈现增长,已经快要追上商业数据库了。
商业产品在关系型数据库的占比仍然高达60.5%,而上表中从这列往左的分类都是开源占优:
Wide Cloumn:开源占比81.8%;
时序数据库:开源占比80.7%;
文档存储:开源占比80.0%;
Key-Value存储:开源占比72.2%;
图数据库:开源占比68.4%;
搜索引擎:开源占比65.3%
按照开源License的授权模式,上面这个三角形越往下管的越宽松。比如MySQL属于GPL,在互联网行业用户较多;而PostgreSQL属于BSD授权,国内有不少数据库公司的产品就是基于Postgre哦。
数据库三大阵营:传统厂商和云服务提供商
前面在讨论市场份额时,我提到过交易型数据库的4个巨头仍然是Oracle、微软、IBM和SAP,在这里William Blair将他们归为第一阵营。
随着云平台的不断兴起,AWS、Azure和GCP(Google Cloud Platform)组成了另一个阵营,在国外分析师的眼里还没有BAT,就像有的朋友所说,国内互联网巨头更多是自身业务导向的,在本土发展公有云还有些优势,短时间内将技术输出到国外的难度应该还比较大。(当然我并不认为国内缺优秀的DBA和研发人才)
第三个阵容就是规模小一些,但比较专注的数据库玩家。
接下来我再带大家简单过一下这前两个阵容,看看具体的数据库产品都有哪些。
甲骨文的产品,我相对熟悉一些的有Oracle Database、MySQL以及Exadata一体机。
IBM DB2也是一个庞大的家族,除了传统针对小型机、x86(好像用的人不多)、z/OS大型机和for i的版本之外,如今也有了针对云和数据挖掘的产品。记得抱枕大师对Informix的技术比较推崇,可惜这个产品发展似乎不太理想。
微软除了看家的SQL Server之外,在Azure云上还能提供MySQL、PostgreSQL和MariaDB开源数据库。应该说他们是传统软件License+PaaS服务两条腿走路的。
如今人们一提起SAP的数据库就想起HANA,之前从Sybase收购来的ASE(Adaptive Server Enterprise)和IQ似乎没有之前发展好了。
在云服务提供商数据库的3巨头中,微软有SQL Server的先天优势,甚至把它移植到了Linux拥抱开源平台。关系型数据库的创新方面值得一提的是Amazon Aurora和Google Spanner(也有非关系型特性),至于它们具体好在哪里我就不装内行了:)
非关系型数据库则是Amazon全面开花,这与其云计算业务发展早并且占据优势有关。Google当年的三篇经典论文对业界影响深远,Yahoo基于此开源的Hadoop有一段时间几乎是大数据的代名词。HBase和Hive如今已不再是人们讨论的热点,而Bigtable和BigQuery似乎仍然以服务Google自身业务为主,毕竟GCP的规模比AWS要小多了。
最后这张DB-Engines的排行榜,相信许多朋友都不陌生,今年3月已经不是最新的数据,在这里列出只是给大家一个参考。该排行榜几乎在每次更新时,都会有国内数据库专家撰写点评。
以上是我周末的学习笔记,班门弄斧,希望对大家有帮助。
参考资料《Database Software Market:The Long-Awaited Shake-up》
https://blocksandfiles.com/wp-content/uploads/2019/03/Database-Software-Market-White-Paper.pdf
扩展阅读:《 数据库&存储:互相最想知道的事 》
尊重知识,转载时请保留全文。感谢您的阅读和支持!
1、90%以上的软件都需要 *** 作数据,如游戏、社交、新闻、商城、财务等,这些软件都在不停的展示、存储数据,它们的数据都存储在数据库,数据库是软件的基础。
2、测试⼯程师在测试软件的过程中,不仅需要在界⾯上 *** 作,还需要检查数据库中的数据是否正确。从⽽在软件出问题时,测出更深层的问题。
Mysql是最流行的开源数据库。
mysql特点:
快! 速度是其他关系型数据库不能比的。(相对于功能较少)
开源! 能够自主开发基于mysql(c语言编写)
由阿里发起的“运动”去oracle化,中国所有的大型互联网企业相应,数据库由oracle迁移至mysql
免费!基本上就是中小型企业的唯一选择
综上所述中国市场占有率第一!
为什么学mysql——从就业角度
必学的!
很多企业都要求你会mysql
如果企业没有要求你会mysql,那是默认选项。
————————————————
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)