ryotankの備考録日記

趣味の電子工作についての備考録などなど

電子工作作業報告書管理アプリその3

データベースをMySQLにしようと考えていたが、
アリンコス部品管理の記事でも書いた通りMySQLのデータベースの作成が
出来ない状況にあるので、別のデータベースにしようと
色々と調べてみた。3種類くらい見つかった

PostgreSQL(ポスグレ):複雑なクエリや大規模なデータベースを扱うことができる
機能豊富なデータベースです。Excelのような表形式で保存したデータを1つの箱とし、
別の箱と関連付けして、大量のデータを取り扱えるようにします。
テーブルとカラムの情報を扱う以外に、データ型・インデックス型・関数の定義ができます
カスタマイズ性が高く、プラグインの開発・導入はもちろん、C言語などで作られたカスタム関数を
組み入れることも可能
無料で使えること」「日本語に対応していること」「多機能かつ高性能であること」などが
挙げられます。日本語はバージョン6.3から実装されており、標準で使用できます。
ostgreSQLはオープンソースで、基本的に無償で利用できる点

PostgreSQLを利用している主なWebサービスとしては、YahooやFacebookInstagram
SkypeAppleなど


MariaDBの特徴
カラム型DBエンジン(ColumnStore)」が用いられており、
ビッグデータなどの集計作業を得意とする技術が採用
MariaDBは、MySQLから分岐して作成されたデータベースであり、
本質的な目的としてMySQLを将来的にも無料で提供することを保証するために作成されています
 MySQLからMariaDBへの移行
基本的にはユーザーが利用しているMySQLのシステムをそのままMariaDB
移行することが可能なように開発が進められています。

MySQLで追加された新機能やバグ修正なども、若干のタイムラグは存在しますが
MariaDBにも適用されると考えて問題ないでしょう。
 MySQLMariaDBのコマンド操作
MySQLMariaDBでは、利用出来るコマンドについてもほとんど同じと考えて問題ありません
MySQLMariaDBどちらを選ぶのかに関してですが、これから新規開発を進める場合、
MariaDB」がおすすめです。

理由としては、MySQLと基本的に使い方が同じであり、同様の機能をサポートすることが表明されているためです。

Redisの特徴
Webアプリケーションの高速化
RedisはインメモリのNoSQLデータベースのため、RDBよりも処理速度が高速です。
Webアプリケーションのセッションやキャッシュの一時的な保存先に指定することで、
アクセス速度が飛躍的に向上します。


常にメモリを消費する
メモリ上で動作するため常にメモリを消費します。
またメモリに乗り切るデータしか扱えないため、大容量のデータを一度に
取り扱うような処理はできません。

またメモリの断片化の問題もあります。大量のデータの書き込み・削除を繰り返すと
パフォーマンスが低下する

AirbnbはWebサイト経由で民宿などの宿泊施設を宣伝・予約できるシステムです。
AirbnbがRedisを使用しているのはAirbnbを利用するユーザーに
起きている問題を効率良く監視するためのダッシュボードでした。
Elasticsearchで予約チケットのデータを検索・分析し、結果をRedisに格納します。
この結果をフロントエンド側のReactアプリケーションが取得・表示する仕組みです。


という感じにまとめられた

PostgreSQLMariaDBかな・・

ん~MariaDBにするかなMySQLから移行できるみたいだし