皆さん、こんにちは。がーしらです。
PostgreSQLを使ってシステム運用してますが、今回はシステムを新しくする際にDBを今のままPostgreSQLを使い続けるか、他のDBを使うかの検討・比較をした際に一覧した有名なDBとそれぞれの特徴を記載してます。各DBの特徴を一覧してみました。少し偏った意見かもしれませんが何かの参考になればと思います。
1. RDBMS
まずはRDBMSについて各DBを比較しました。今回は無料のDBをベースに比較をしています。※記事掲載時点の情報
DB | 評価ポイント |
---|---|
PostgreSQL | 大規模向け、データ構造複雑の取り扱いが得意 |
MySQL | NoSQLに対応、無料RDBMSシェア、NestedLoopのみ |
MariaDB | MySQLの派生、システムバージョニングテーブルある |
※参考サイト
https://db-engines.com/en/ranking
2. NoSQL
次にNoSQL(Not only SQL)のことについて調べました。私が携わってるシステムの一部はAWSで運用しているのですが、AWSにたくさんマネージドサービスがあるので選択肢多くて迷っちゃいました。あまり知識が無い中で調べた結果なので間違ってる場合はコメントどしどしください。
DB | 形式 | 評価ポイント |
---|---|---|
MongoDB | ドキュメント指向 | NoSQLではシェア、情報豊富、AWSにマネージドサービスあり |
Amazon DynamoDB | KVS | AWSのフルマネージドサービスあり、DynamoStream使える |
Apache Cassandra | カラム指向 | 高可用、AWSにマネージドサービスあり |
Redis | KVS | インメモリ、キャッシュや分析に強い、情報豊富、AWSにマネージドサービスあり |
Neo4j | グラフ型 | 複雑なリレーションに強い |
3. NewSQL
最後に最近出てきたNewSQLについてです。夢が膨らみますがやはりマネージドなサービスはお高めという印象でした。
DB | 評価ポイント |
---|---|
Google Cloud Spanner | NewSQLの走り、高価格 |
CockroachDB | PostgreSQL互換のSQLに対応、AWSマーケットプレイスで利用可 |
TiDB | 最低8台のクラスターが必要 |
YugabyteDB | PostgreSQL互換のSQLに対応、cockroachdbと比べると情報が少なく開発時に苦戦しそう |
簡単にですが、PostgreSQLを見直した際のDBの選択肢を並べてみました。まだ本決定ではないですが、上記から、コスト、セキュリティ、利用シーンに応じた使い方などから最適なモノを選ぶ予定ですが、RDBMSではやはりPostgreSQLかなという感じです(ある程度の知識もあるので)
どなたかの参考になって快適なPostgreライフを過ごしていただければと思います。