联系邮箱:market@golaxy.cn

客服电话:400-901-9755

      内存数据库发展演进

       随着云计算、物联网、大数据、人工智能的发展,以大内存、多核/众核处理器计算为特征的新一代内存计算平台成为大数据实时分析处理的新平台。作为内存计算最具代表性的应用领域,内存数据库不仅是当前数据库领域的前沿技术,也正日益成为新型数据库市场增长的重要亮点。
       内存数据库的发展主要经历了雏形期、理论成熟期、市场成长期及高速发展期四个阶段:


 图1 内存数据库发展历程

      雏形期(1970年代)

       内存数据库的雏形产生于20世纪60年代末到80年代初。1969年IBM公司在研制世界上最早的基于层次模型的数据库管理系统IMS时,提供了支持通用磁盘存储的IMS和采用内存存储的Fast Path两种方法。其中,Fast Path提出了数据分层存储的设计理念,将最活跃的数据放在内存中。内存数据库起步于层次数据库,后期发展逐渐转向关系型内存数据库。

      理论成熟期(1980年代)

      1984年,D J DeWitt等人发表了《Implementation Techniquesfor Main Memory Database Systems》一文。第一次提出了Main MemoryDatabase(主存/内存数据库)的概念,以及AVL树、Hash算法、主存数据库恢复机制等内存数据库关键理论,为内存数据库构建了技术框架并指明了发展方向。
      1985-1990年间,各大高校和科研机构涌现出了众多内存数据库产品。IBM推出了IBM 370上运行的OBE内存数据库;威斯康星大学提出了按区双向锁定模式解决内存数据库中的并发控制问题,并设计出MM-DBMS内存数据库;贝尔实验室推出了DALI内存数据库模型;Southern Methodist大学设计出MARS内存数据库模型;普林斯顿大学设计出TPK和System M内存数据库。

      市场成长期(1990年代)

      20世纪90年代,随着互联网的发展,越来越多的网络应用系统需要能够支持大用户量并发访问、高响应速度的数据库系统,而内存技术不断发展,性价比大幅提升,使得内存数据库技术可行性和市场应用逐步成熟。世界各地开始涌现更多商业化的内存数据库产品,并在各行业落地应用。1994年美国OSE公司推出了第一个商业化的内存数据库产品Polyhedra;随后德国SoftwareAG推出了Tamino Database;日本UBIT会社开发出XDB;韩国Altibase公司相继推出Altibase;奥地利的QuiLogic公司推出了SQL-IMDB;美国McObject推出eXtremeDB;加拿大Empress公司推出EmpressDB。

      高速发展期(2010年至今)

      2010年之后,云计算、大数据、物联网、移动互联网、人工智能进入高速发展期,大量应用需要对海量数据进行实时分析和处理,对系统的高并发、低时延能力提出了极高的要求,也带动内存数据库新一轮高速发展。
      这段时期以Redis键值型内存数据库为代表,开源内存数据库开始兴起,正成为解决新市场需求和应用场景的主力军。如支持关系型存储的VoltDB;支持键值对存储NoSQL数据库Aerospike;以及数据结构既能支持键值对又能支持关系型的Apache Ignite。除了开源数据库之外,几大信息技术企业还推出了特色产品占领市场,Oracle推出数据库一体机Exadata X3,集成TimesTen内存数据库;IBM收购Solid公司的内存数据库SolidDB,整合为IBM家族的一个产品;SAP也发布了商业版内存数据库SAP HANA,是支持列式存储的关系型内存数据库,已经成为内存数据库的典型产品之一。国产自主研发的内存数据库往往追求大而全,而技术创新不足、没有特点,产品的稳定性一直上不去,也不敢做有挑战性的性能测试。所以,稳定性、性能都无法让市场信服。结果就是:稍微重要一点的系统根本没人敢用。

       中科天玑新型内存数据库产品

       中科天玑新型内存数据库定位为国产关系型内存数据库产品,具有强实时、高可靠、高安全、高扩展、易使用、跨平台的特点,不仅兼容支持国产主流操作系统和硬件平台,也可与传统关系数据库和新兴大数据平台进行深度整合和优势互补,为客户提供业界领先的海量实时数据管理解决方案,可广泛应用于国防、政府、金融、电信、工业控制、大数据、边缘计算、物联网等行业领域。

 

图2 产品定位

      中科天玑新型内存数据库产品采用层次式、模块化体系结构,分为适配层、基础层、核心层、扩展层、接口层和应用层,如下图所示:

 

图3   产品体系结构

      说明如下:

      1)   适配层:提供兼容适配商用和国产主流硬件平台和操作系统的接口文件,支持龙芯+中标麒麟、飞腾+银河麒麟、X86+Linux等平台组合。

      2)   基础层:提供优化的内存管理基础功能,包括数据库内存池、页管理、堆管理等模块。

      3)   核心层:提供完善的数据库内核功能,包括数据组织管理、索引管理、事务管理、运行时控制、安全管理等模块。

      4)   扩展层:基于数据库内核,扩展出SQL组件、高可用HA组件、事务日志组件、Web服务组件、集群组件、列数据库等增强组件。

      5)   接口层:提供C/C++、SQL、JNI、Python、C#等编程接口。

      6)   应用层:支持嵌入式应用软件、桌面端应用软件、服务器端应用软件、移动端APP软件开发。

      产品特点

      实时性

  • 极精简的数据库设计,最小尺寸不超过300KB;Ø数据库基本操作性能达到微秒级;

  • 支持事务ACID特性;

  • 支持事务优先级;

  • 支持B树, R树, Patricia Trie, KD树, 三元(Trigram)和哈希索引;

  • 支持乐观/悲观并发控制,支持多版本并发控制MVCC和多读单写(MURSIW)事务管理机制;

  • 支持缓存优化,改进了LRU缓存策略,降低时间敏感任务使用数据对象的检索开销;

  • 支持基于确定规则的SQL优化器(RBO),解决CPU操作过于频繁和不可预测的问题;

  • 支持事件通知机制,允许将部分数据库变更通知给应用程序;

  • 支持数据压缩,可降低存储空间,提升数据库读性能;

  • 针对时间序列数据,支持基于行和基于列的混合数据处理方法、基于向量的统计分析函数以及流水操作函数,极大提升数据分析性能。  

      可靠性

  • 支持事务日志,设置不同的事务隔离级别

  • 支持增量备份/恢复,自动检测数据库变化

  • 支持数据库串列/镜像,支持固态硬盘、磁盘等持久介质

  • 高可用组件(HA)能够在软硬件故障条件下,保证数据库的连续性稳定运行,提供高达“五个9”(99.999%)的可靠性

  • 支持自动故障切换下的同步复制和异步复制,HA采用主/从(Active/passive或master/slave)架构,数据库副本只允许读 

      安全性 

  • 支持数据库页级别的CRC校验,检测对存储数据的未授权更改

  • 支持AES加密,采用用户提供的密码以阻止非法访问和干预

  • 支持所有通信方式下(如C/S、HA和集群)的安全套接层(SSL)和传输层安全(TLS) 

       扩展性

  • 基于集群的分布式架构采用主/主(active/active)模式,每个数据库实例都作为主节点。任何节点上的任何进程都可以更新本地数据库,集群能快速有效的把变更复制到其他节点

  • 最大支持128个节点集群扩展,可对TB级、百亿行数据进行实时管理和统计分析

  • 支持分布式查询处理,允许跨多台服务器、多颗CPU或多个CPU核进行分布式查询处理

  • 支持分片,通过数据水平分布(数据库水平划分)来扩展提升性能,结合分布式查询处理,可以弹性扩展以适应大数据的工作负载
    易用性

  • 支持几乎所有的数据类型

  • 支持数据库定义语言(DDL)

  • 支持XML导入导出

  • 支持SQL标准接口 

  • 支持先进的ODBC/JDBC驱动 

  • 支持C、C++、Java等编程接口 

  • 支持与Qt、VS等主流开发工具集成使用

      兼容性

  • 可支持商用和国产主流的工作站和服务器平台:Windows/Linux的32/64位版本。支持龙芯、飞腾主机和服务器以及麒麟操作系统

  • 同样支持商用和国产主流的嵌入式平台:VxWorks、ReWorks、DeltaOS等实时操作系统;x86、PowerPC、ARM、MIPS、龙芯、飞腾等硬件平台

      应用领域

      中科天玑新型内存数据库产品可广泛应用于以下关键行业领域:
      国防:舰艇、导弹、战机、火箭、卫星、坦克/装甲车、雷达、数据链等国防系统或装备,对大批量传感器数据进行实时管理
      政府:科技情报、财政管理、电子采购与招标、电子税务、社会网格治理等
      金融:券商交易系统、实时风控系统、期货交易系统、订单管理系统、福利彩票系统等
      电信&网络:网络交换机、卫星网络测控、实时计费系统、运营支撑系统/业务支撑系统(OSS/BSS)等
      工业控制:SCADA系统、电力控制系统、汽车电子系统、高铁控制系统等
      数据:军事大数据、情报大数据、公安大数据、工业大数据等
      边缘计算:国防、电信&网络、工业系统等领域的边缘计算场景
      互联网:社交网络、交易平台、电商平台等

      结语

      中科天玑新型内存数据库产品在实时性、可靠性、国产化方面具有独特优势,能够提供业界领先的极致性能和连续稳定可靠运行保证,满足国防、金融、电信、工控等关键行业领域的严苛要求。同时,中科天玑可以为用户提供业界领先的海量实时数据管理解决方案和长期可持续服务,使用户专注于系统设计和应用软件开发,降低系统复杂性和软件开发成本,为客户创造最佳实践和更大价值。

      中科天玑将坚持掌握核心技术和长期服务用户的理念,努力打造具有行业影响力的国产内存数据库基础软件产品,目前已成功应用于国防、金融、舆情、安全等行业中。 

分享