【问题标题】:Recommendations for column-oriented database [closed]面向列的数据库的建议 [关闭]
【发布时间】:2020-11-19 10:54:38
【问题描述】:

我发现数据库通常有两种形式,传统的面向行的 RDBMS 或面向对象的数据库 (OODBMS)。然而,我记得在 90 年代中期,出现了一种面向列的新型数据库。其中一些被命名为 4GL,但我不认为它是一个固定的术语。

我想知道的是:

  • 还有哪些面向列的数据库?
  • 这些数据库的性能特点是什么?
  • 有没有开源的面向列的数据库?
  • 它们与哪些平台进行互操作(.NET、Java 等)
  • 您对他们的一般体验是什么?

我记得使用过的两个面向列的数据库是 FAME 和 KDB。

【问题讨论】:

  • 我不认为 4GL 通常与“面向列的数据库”相关联;它是对第四代语言的引用,其中 C 和相关语言是/曾经是第三代语言,而 4GL 往往是“非程序”或“非命令式”语言。
  • 仅供参考我们在这里写了一些列数据库的比较:timestored.com/time-series-data/column-oriented-databases

标签: database column-oriented


【解决方案1】:

HBase是一个基于Google's BigTable的开源列式数据库系统。

【讨论】:

    【解决方案2】:

    Infobright
    这是一个面向列的 MySQL 引擎
    您可以使用(几乎)所有 MySQL api/接口/工具,但它是面向列的。

    它是开源的,并且有免费版本。
    非常适合仓储。我在 SQL Server 中有一个 10Gig 的事实表。 Infobright 将其压缩为 15MB。

    【讨论】:

      【解决方案3】:

      还可以查看 Michael Stonebraker 的 C 商店: C-store (includes links to source code and research paper)

      这篇论文包含一个关于面向列的数据库的极好的观点,应该可以回答您的大部分问题。

      引用论文,

      "Most major DBMS vendors implement record-oriented 
      storage systems, where the attributes of a record (or tuple) 
      are placed contiguously in storage.  With this row store 
      architecture, a single disk write suffices to push all of the 
      fields of a single record out to disk.  Hence, high 
      performance writes are achieved, and we call a DBMS 
      with a row store architecture a write-optimized system.  
      
      In contrast, systems oriented toward ad-hoc querying 
      of large amounts of data should be read-optimized.  Data 
      warehouses represent one class of read-optimized system,
      in which periodically a bulk load of new data is 
      performed, followed by a relatively long period of ad-hoc 
      queries. Other read-mostly applications include customer 
      relationship management (CRM) systems, electronic 
      library card catalogs, and other ad-hoc inquiry systems.  In 
      such environments, a column store architecture, in which 
      the values for each single column (or attribute) are stored 
      contiguously, should be more efficient.  This efficiency 
      has been demonstrated in the warehouse marketplace by 
      products like Sybase IQ [FREN95, SYBA04], Addamark  
      [ADDA04], and KDB [KDB04]. In this paper, we discuss 
      the design of a column store called C-Store that includes a 
      number of novel features relative to existing systems."
      

      【讨论】:

        【解决方案4】:

        Sybase IQ 是我听说过的。

        【讨论】:

          【解决方案5】:

          InfiniDB 最近由 Calpont 发布开源 (GPLv2)。它支持大部分 MySQL API,并以列式方式存储数据,并针对大规模分析处理进行了优化。

          【讨论】:

            【解决方案6】:

            这是不同的面向列的 DBMS wiki Column-Oriented DBMS Implementations

            【讨论】:

              【解决方案7】:

              Sybase IQ 是面向列的。当您创建表时,所有列都会自动编制索引,并且列中的数据会被很好地压缩。

              这是一个不错的 OLAP 数据库(...数据仓库),但我不建议将它用于任何类型的事务处理,因为它是为数据仓库操作而设计的。

              就性能特征而言,SELECTS 对于大量数据非常快,但与标准 OLTP DB(例如 Sybase ASE)相比,INSERT / UPDATE / DELETE 非常慢。表锁定也与 OLTP 数据库有很大不同,因此当在 MAIN 数据存储中工作时,需要为写操作(INSERTS 等)使用排他表锁定。

              否则它支持 T-SQL(Sybase 版本)和 Watcom SQL。

              干杯,

              凯文

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2020-12-11
                • 2015-04-06
                • 2013-11-20
                • 2014-07-27
                • 2013-09-20
                • 2012-07-06
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多