(O+P)ut

アウトプット



(O+P)ut

OutPut Log

IT技術-Database

【MongoDB】レプリケーションの動きを検証する

はじめに 以下記事にて作成したレプリカセットが機能していることをPrimaryを落とすことで検証します。 環境情報 MongoDB v4.4 kubectl v1.18 事前準備 PrimaryのDBサーバにてデータベース/コレクションを作成して1つドキュメントを追加します。 repltest:P…

【MongoDB/Kubernetes】レプリカセットの初期設定

はじめに KubernetesのStatefulsetを利用して3つのMongoDBを用意し、PrimaryとSecondaryとArbiterにてレプリケーションを組む手順について解説します。 環境情報 MongoDB v4.4 kubectl v1.18 事前準備 以下のyamlを展開することで3台もMongoDBがレプリカセ…

【MongoDB】WiredTiger has failed to open its metadata RawというErrorメッセージ

事象 KubernetesにてMonogoDBを起動するも以下メッセージがPodのログに残った状態でSTATUSがErrorとなる。 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=7505M,cache_overflow=file_max=0M),session_max=20000,eviction=(threads_m…

【MongoDB】Kubernetesの別PodからリモートのMongoDBを操作する

やりたいこと MondoDBへの操作を別のホストから行う。 具体的には以下のようにDBの実体がいるホストとは別のホストにmongo関連コマンドを入れ、操作を行う。 +---------+ +---------+ | Mongo +<----+/bin/mongo | DB | | | +---------+ +---------+ 環境情…

【入門】Node.jsでMongoDBに値を書き込むハンズオン(後編)

はじめに 以下の記事の後編です。 MongoDBの書き込み先は既に作成済の以下です。 DB Collections test user 環境情報 Ubuntu : 20.04 Node.js : v10.19 MongoDB : v3.6 MongoDBに書き込むサンプルプログラム const mongodb = require('mongodb') const Mongo…

【入門】Node.jsでMongoDBに値を書き込むハンズオン(前編)

はじめに 以下の記事でも触れたようにJSON形式で価を保持するMongoDBはNode.jsと相性がよいためサービスの組み合わせでもよく見られます。 本記事ではUbuntu環境に1からインストールを行い、Node.jsプログラムからMongoDBにドキュメントを挿入する流れを紹介…

【入門】B-Tree+とは?

はじめに B+木とも呼ばれ、データベースの世界でよく聞く本用語ですが「B-Tree+とは何か?」と聞かれると答えに困る方もいると思います。 本用語を初めて聞いた方向けに、分かりやすく解説しました。 B-Tree+とは? 簡潔に言えば「多くのデータベースで採用…

【GROWI】ページに書いたテキストデータをMongoDBから確認する

はじめに マークダウン形式でWikipediaのようにドキュメントを生成できるGrowiは以下公式サイトにあるようにdocker-composeで利用でき 構成コンテナを見れば分かりますがMongoDBがデータベースとして利用されています。 $ docker-compose.exe ps Name Comman…

【Db2】特定データベースのオンラインバックアップとリストアの流れ

はじめに 端末に用意したDb2環境を利用して オンラインバックアップコマンドbackupの試し打ちをした際のログです。 環境情報 DB2 v11.5 CentOS Linux 7 (Core) 事前準備 以下記事で作成したSAMPLEデータベースを対象に行います。 まずはオンラインバックアッ…

【Db2】オンラインバックアップとオフラインバックアップの違い

はじめに アプリケーションの接続が残った状態で取得可能なオンラインバックアップはオフラインバックアップの上位互換のようにも思えます。今回はパフォーマンスやデータの断面ではなく、データ復旧を行うリストア時の違いという観点にて分かりやすく説明し…

【Db2】特定テーブルのExport/Importハンズオン

はじめに 端末に用意したDb2環境を利用して Exportコマンド&Importコマンドの試し打ちをした際のログです。 環境情報 DB2 v11.5 CentOS Linux 7 (Core) テーブル移行のハンズオン 以下記事で作成したSAMPLEデータベースのSALESテーブルを対象に行います。 …

【Db2】SQL1117N cannot be made because of ROLL-FORWARD PENDINGというエラー

事象 下記コマンドで取得したバックアップファイルを $ db2 backup db sample to /tmp/下記コマンドでリストアを試み $ db2 restore db sample from /tmp該当データベースに接続を試みるも以下エラーとなる。 $ db2 connect to sample SQL1117N A connection…

【Db2】SQL1035N The operation failed because the specified database cannot be connected to in the mode requestedというエラー

事象 下記のデータベースに対して $ db2 connect to sample Database Connection Information Database server = DB2/LINUXX8664 11.5.0.0 SQL authorization ID = DB2INST1 Local database alias = SAMPLEバックアップを取るべく以下コマンドを発行した際に…

【Db2】特定テーブルにレコードをInsertする構文

やりたいこと 下記のテーブルに対して $ db2 describe table sales Data type Column Column name schema Data type name Length Scale Nulls ------------------------------- --------- ------------------- ---------- ----- ------ SALES_DATE SYSIBM DA…

【Db2】特定データベースの中身を確認するコマンド群

はじめに Db2の初学者の方向けに、Sampleデータベースを作成してそのデータベースのとある表に格納されているレコードを表示する手順とその周辺情報を確認する手順について説明します。コマンド実行環境は以下にて用意しています。 環境情報 DB2 v11.5 CentO…

【Db2】Dockerコンテナを利用したLinux版Db2環境の用意

はじめに Windows端末にてDb2のコマンドを試したい際に環境を用意した流れをメモしておきます。 Docker環境はDockerDesktopを利用しています。 環境情報 Windows 10 Docker version 19.03.5 db2コンテナを起動 以下にて公式のイメージをローカルに保存できま…

【MongoDB】MongoTimeoutError: Server selection timed out となるエラー

事象 node.jsアプリケーションにてMongoDBに接続に行く処理にて以下のようなタイムアウトエラーになる、 MongoTimeoutError: Server selection timed out after 10000 ms ... name: 'MongoTimeoutError' 環境情報 NodeJS Version: 12.16.1 - x64 MongoDB Ver…

【MongoDB】個人的によく使う照会系コマンド群

MongoDBで定期的に打ちたくなるコマンドをメモしておきます。 DB一覧 コレクション一覧 ドキュメント全件取得 コレクション一覧とドキュメント数を表示 ドキュメントの表示件数の制限を変更 レプリカセットの状態 統計情報 DB一覧 show dbs コレクション一覧…

【Docker&MongoDB】getaddrinfo ENOTFOUND GetAddrInfoReqWrap.onlookuにて接続エラー

事象 Roket.chatコンテナをMongoDBコンテナに接続しようとするも以下メッセージでエラーになる。 /app/bundle/programs/server/node_modules/fibers/future.js:313 throw(ex); ^ Error: getaddrinfo ENOTFOUND mongo at GetAddrInfoReqWrap.onlookup [as onc…

【MongoDB】バックアップとリストアの流れ

はじめに MongoDBにて以下記事で作成したデータベース名「test」コレクション名「user」のデータをバックアップし、データを削除した後にリストアして復旧する手順を紹介します。 環境情報 Debian GNU/Linux 9 MongoDB shell version: 3.2.11 事前確認 バッ…

【MongoDB】コマンドから非対話形式で利用する

はじめに NoSQLの筆頭として以下記事でも軽く触れたMongoDBですが タイトルの通りコマンドから直接DBを操作することも可能なのでテキストに追記する感覚でDBに格納&検索ができます。本記事ではデータをコマンドから操作する方法を前提知識を補足しながら記載…

【Db2】システム情報取得コマンド(管理者用チートシート)

Db2のインストール手順は以下記事にて紹介しましたが 本記事では照会系で利用するコマンド群を記載しました。 状況照会コマンド パラメータ情報取得 メモリー情報取得 接続アプリ情報取得 データベース情報取得 データベース表情報取得 インスタンス稼働状況…

【データベース】インスタンスの分離とデータベースの分離

はじめに 以下の記事にてデータベースとインスタンスの違い、及び1データベース1インスタンスであることを記載しました。 本記事ではその方針に沿わないインスタンス/データベースを分ける構成とそのメリットデメリットについて簡単に紹介します。 データ…

【入門】レスポンスタイムに着目したNoSQLの登場背景

NoSQLとはなんぞや NoSQLとはNot only SQLということで、いわゆるRDBMS以外のDBMSを指す用語です。一例ですが、ドキュメント指向型NoSQLに分類されるMongoDBでは以下コマンドでデータにアクセスができます。 > db.XXX.find() { "_id" : "XXXX", "msg" : "tes…

データベースにおける物理ログと論理ログの違い

はじめに データベース用語である物理ログと論理ログの違いについてイメージとして理解すべく簡単に説明しました。 概要イメージ 物理ログ 変更対象のデータ領域のイメージ 大きい 論理ログ SQL文などによる変更の手順を記したログ 小さい 以下、解説です。 …

【Db2】CUI環境でのインストール

AIXにDB2サーバをインストールした際の備忘録です。 環境 インストールの流れ メディアの用意 応答ファイルの用意 インストール 環境 OS AIX 7.1 DB2 DB2 10.5 インストールの流れ メディアと応答ファイルが必要です。 メディアの用意 まずは、メディアを調…

【入門】データベースにおけるIXFファイルとは?

はじめに データベースをフラットファイルに出力際の形式の一つである「IXF」という拡張子に関して、簡易的な説明文書がなかったので今回は記事にまとめてみました。 IXFとは? そもそも、IXFとはIntegrated Exchange Formatの略で、 「統合交換フォーマット…

【入門】表スペースと表の違い

データベースとインスタンスの違いについては、下記のように記載しました。 一方で、同じようにややこしい用語がデータベースの話の中ではいっぱいあります。 今回は、表スペースと表について、簡単に説明します。 表スペースと表の違い はじめに まず、どち…

【入門】データベースとインスタンスの違い

はじめに データベースとインスタンス、二つのキーワードの関わりについて簡単に説明してみます。 入門レベルで記載するので、特にバックグラウンドの知識は不要です。さて、よく見る全体像の図は以下のようなものだと思います。 (以下、図①) Oracleのアー…


他の記事を読む