TOPSoftware > 定番とは一味違うデータベース9選(前)

Software

定番とは一味違うデータベース9選(前)

2020/04/14

Serdar Yegulalp InfoWorld

 データベースを利用する時には、MySQL/MariaDB、PostgreSQL、SQLite、MongoDBといった有名どころが無難な選択だ。しかし時には、こうした汎用的なデータベースが今一つフィットせず、もっと特徴的なデータベースが必要になるケースもある。今回の記事では、定番の選択肢とは一味違うデータベースを9つ紹介する。インメモリアナリティクス、キーバリューストア(KVS)、時系列データベースなど、顔ぶれは多彩だ。

DuckDB

Credit: Thinkstock

 SQLのOLAPシステムと聞くと、膨大なデータを処理する巨大なシステムや、拡大を続けるデータウエアハウスといったイメージが思い浮かぶ。だが、分析処理向けのデータベースでも、そのイメージとは少し違うのがDuckDBだ。この分野におけるDuckDBの立ち位置は、いわばMySQLやPostgreSQLといったデータベースに対するSQLiteの立ち位置と同じである。すなわち、本格的なOLAPソリューションを大規模に稼働するためのデータベースではなく、ローカルのデータセットに対してインメモリの分析処理を高速に行うためのデータベースだ。

 DuckDBは、規模こそ小さいながらも、大規模なOLAP製品と同じような機能や特徴を数多く備えている。データは列指向で扱い、ベクトル処理でCPUキャッシュを有効活用する。Tableauなどのレポートソリューションとのネイティブ接続といった面は不足しているが、手動での対応も難しくないはずだ。言語バインディングは、C++のほか、アナリティクスでよく使われるPythonとR言語にもネイティブ対応している。

EdgeDB

 エッジとは、グラフデータベースの用語で、データセットにおける2つのノード(エンティティ)間のつながりや関係性を表す(例えば、利用客と注文の関係、注文と商品の関係など)。EdgeDBは、PostgreSQLを基盤とし、トランザクションのACID特性や優れた信頼性といった特性をすべて受け継ぐ形で構築されたオブジェクトリレーショナルデータベースだ。強い型付けや、SQL風のクエリ言語などの特徴を持つ。

 EdgeDBは、NoSQLのような使いやすさと即時性、リレーショナルモデリングのパワー、SQLの信頼性と一貫性を兼ね備えている。また、ドキュメントデータベースそのものではないが、ドキュメントデータベースのような形でデータを保存する用途にも使える。データの取り出しには、Neo4jのようなネイティブなグラフデータベースと同じように、クエリ言語GraphQLが簡単に使える。

↑ページ先頭へ