投稿

ラベル(database)が付いた投稿を表示しています

LinuxMintでInfluxDBのネット情報を調べてPostgreSQLと比較しました

1.概要 時系列のdatabaseであるInfluxDBに関して少し調べてみました。時系列データの処理性能に優れたdatabaseとのことです。時系列databaseを知るためにPostgreSQLとの比較試験もじししています。今回調査した内容は以下の通りです。 (1) InfluxDBに関してネット情報を調べて、どのような評価がされているか調べました (2) InfluxDBとPostgreSQLへcsvから同じデータの追加処理を実行して性能を比較しました (3) InfluxDBのPostgreSQLの読み出し性能の比較をしました 2.詳細 (1)ネット上の評価 参考資料によるとRDBがTableとRowとColumnを利用するのに対して、InfluxDBはmeasurementとpointとTimeとTagとFieldを利用します。少し複雑な感じです。pointに含まれる要素がTime以外は必須でない点が特徴のようです。 RDBはCRUD(Create,Read,Update,Delete)の操作ができますが、InfluxDBはCR(Create,Read)でUD(Update,Delete)は制限された機能しか利用できません。 RDBの操作はSQLですが、InfluxDBの操作はInfluxQLとFluxがあり、InfluxQLはSQLに似ています。私が調べた範囲ではInfluxDB v1はInfluxQL、InfluxDB v2はFluxを利用するのが基本のようです。 DockerHubのInfluxDBを調べるとv1系の方が利用されている気がします。v2系もリビジョンは上がっていますが、主流化になっていな気がします。v3はenterpriseと記述されているので有償かもしれません。拡張性のあるクラスタ構成は有償版でサポートされるとの記載もありました。 気になった点はInfluxDBには上限が設定されており、系列の総数がデフォルトで100万に制限されているようです。 この上限を増やすことはできますが、系列数がこの上限を超えるとのパフォーマンスが低下するとのことです。時系列データは秒単位で24時間処理すると3600*24=86400件、100万件に達するには1000000/86400=11.57日となり、余りにも短い気がします。 InfluxDBとPostg...

Ubuntu/LinuxMintのDocker環境でKey Value Databaseを調べました ( mongoDB / Redis )

記事の更新日:2026/09/30 評価を加筆 1.概要 NoSQLデータベースの中で、以前テストしたことがある「MongoDB」と、メモリベースで高速な「Redis」をDocker環境で動かし、その特徴を調査しました。実際に手を動かしてみることで、データの扱われ方や効率的な使い方のヒントが見えてきました。 調査内容はMongoDBとRedisです。これらは従来のRDB(関係データベース)とは異なり、複雑なテーブル結合(JOIN)などの処理がないため、非常に高速に動作します。しかし、項目間の関連性を持たせにくいため、複雑なデータ構造を扱う場合はアプリケーション側での処理負担が増えそうだと感じています。 私の評価は以下の通りです。 (1) Key Value Databaseは、単純な仕組みなので構造化不要なデータ管理に向いています (2) 逆に、PostgreSQLのようなRDBであれば、データ構造があり、汎用性があります (3) MongoDBがKey Value Databaseの一般的製品で機能を知るには十分です (4) Redisはオンメモリdatabaseで速度重視のシステム向け製品です 2.詳細 (1) Key Value DatabaseのmongoDB 最低限の動作試験を目指します。 (a) docker-compolse.yml 以下のようにdocker-compose.ymlを作成します version: '3.8' services:   mongo:     image: mongo:latest     container_name: mongo-container     environment:       MONGO_INITDB_ROOT_USERNAME: root       MONGO_INITDB_ROOT_PASSWORD: example     ports:       - "27017:27017" (b) 起動 $ docker-compose up -d (c) containerにloginして、mongoを操作します。 コンテナにログ...

tsurugidbをubuntuとWindowsのwslで試しました

記事の更新日:2026/09/12 1.概要 知人からtsurugidbのリリース案内のネット記事紹介をうけて、早速、動かしてみました。ubuntu-22.04ベースと記載されていますが、Docker環境ならばUbuntu-20.04でも動作すると考えてチャレンジしましたが、動作しません。ネットでWindowsのWSL2で動作したとの記事を見つけて、再度チャレンジして動作しました。この内容を記述します。 私の評価は以下の通りです。 (1) tsurugidbはRDB(リレーショナル・データベース)です (2) Docker環境で簡単に動かすことができ、評価環境作りは簡単です (3) 少し動かす環境に注意をする必要があるようです (4) ububuntu 20.04とWindows11 wslで動作しました 2.詳細 (a) ubuntu-20.04での試験 通常利用しているDocker環境で実行。Docker-hubでなく、Gitから導入するのは初めてです。 起動するとDockerのErrorとなりました。 $ docker pull ghcr.io/project-tsurugi/tsurugidb Using default tag: latest latest: Pulling from project-tsurugi/tsurugidb 37aaf24cf781: Pull complete e4e31387edfb: Pull complete 18f431a63a37: Pull complete 37fc08fe3aec: Pull complete 27a228ffc72d: Pull complete ba5a1e1cb613: Pull complete 9dc3d6cc561c: Pull complete 4f4fb700ef54: Pull complete $ docker container run -d -p 12345:12345 --name tsurugi ghrc.io/project-tsurugi/tsurugidb Digest: sha256:1ca6edc0196f504c9ecec51eb8652798b0d72d91902798f74412ac7d9b05daa2 Status: Downloaded newer...

ubuntu/LinuxMintでmariadbへCSVからのデータロードで悩みました

記事の更新: 2026/08/23 1.概要 この記事は2023年の記事です。CSVをloadコマンドでdatabase tableにimportをしたのですが、CSVのデータの作り方が悪くエラーになりました。PostgreSQLの場合はcopyコマンドを利用していた時と同じ感覚でデータを作成して失敗しました。mariadbも利用する機会は多いと思うので、備忘録として残すことにしました。 csvをmariadbにimportするload dataを試して、ハマったので、その内容を記述します。insert処理をcsvからload dataを利用してimportしてみました。結果的に作成したcsvの形式が悪く、timestampフィールドがゼロになる問題が発生して、悩みました。原因はシングルクオートでデータを囲ったことが問題でした。この内容に関して記述します。 2.詳細 (1)環境構築 (a) docker, docker-composeの導入 $ sudo apt -y install docker.io $ sudo apt -y install docker-compose $ sudo usermod -aG docker $(whoami) $ docker --version $ docker-compose --version PCを1度再起動します (b) docker-compose.ymlの作成 Docker hubの記述を参考にして、docker-compose.yml を作成します。 services:     db:         image: mariadb:10         ports:             - 3306:3306         environment:             MYSQL_DATABASE: redmine             MYSQL_ROOT_PASSWORD: examp...