NoSQL(Not Only SQL)とはSQLを使わないで操作するデータベース全般のこと指す.データベースの構造が容易に変更でき,データの増加に柔軟に対応できる.しかしデータの正規化や表同士の結合,集計や検索は不時としているため,目的別に使い分ける必要がある.
続きを読むnullチェック不要!Objects.equalsで比較をしよう【Java】
文字列やObjectを比較するのにStringクラスのequalsメソッドを用いて比較する場合がある.このメソッドはjava.lang.NullPointerExceptionの危険性がある.このメソッドを使用してObject同士を比較するとき,比較前のObjectがnullの場合にExceptionが発生する.このExceptionを防ぐためにObjects.equalsで比較することでnullチェックを同時に行い,nullの場合でも比較することができる.
続きを読む図で掴む!ロールフォワードとロールバックを用いたデータベースの障害回復手法【基本情報】
データベースの障害が発生したときに復旧する方法として,主にロールフォワードとロールバックの2種類の手法がある.いずれも原子性(atomicity)を維持するために行われる.復旧にはフルバックアップファイル(データベースの全データをバックアップしたファイル)とログファイルを用いる.ログファイルにはデータベースの更新前と更新後の情報(ジャーナルファイルとも呼ぶ)を書き出す.
続きを読むデータベースのデータの整合性を保つトランザクション処理【基本情報】
トランザクションとは一連の処理をひとまとめにしたもので,DB(データベース)の更新には非常に重要な概念.例えば商品を注文して購入する場合以下のトランザクションが考えられる.
- トランザクション開始
- 利用者が商品を注文する
- 在庫を管理しているテーブルの街頭の商品の在庫を1減らす
- 購入者テーブルに購入者のIDを追加する
- トランザクション終了
フォルダ内の圧縮ファイル内の文字列を全件検索【Linux コマンド】
フォルダ内に複数の圧縮ファイルがある場合に,一気に文字列検索を行うコマンド.カレントディレクトリ中のファイルの指定文字列を正規表現を使って検索する.zipファイルを解凍する必要はない.
続きを読む図解!ディスク障害を抑えるRAIDレベルと信頼性設計の技法【基本情報】
1台のHDDでデータを保持しておくと障害発生時やディスク故障時に,保持しているデータが破損する可能性がある.複数のディスクを1つの仮想的なディスクとして扱い,アクセスの高速化や高信頼性実現する技術のことをRAID(Redundant Array of Inexpensive Disks)と呼ぶ
続きを読む図解で掴む!!3層クライアントサーバシステムとサーバーの仮想化技術【基本情報】
ひと昔前までは,一台の高性能なコンピュータに処理を集中させる集中処理が主流だった.現在は複数のコンピュータがネットワークで接続され,データや処理を分散させる分散処理が主流となりつつある.
続きを読む事故リスクを抑えるためのサーバーとロードバランサとデータベースのシステム構成【基本情報】
停止してしまうと社会的な影響が大きかったり,深刻なダメージを及ぼしてしまうシステムのことをミッションクリティカルなシステムと呼ぶ.航空システム,発電システム,銀行や為替の売買システム,LINE等のスマホアプリ,paypay等の決算システムが当てはまる.
システムによって冗長構成を組んだり,不可分散を行うなどして事故を回避する.基軸となるシステムがダウンした場合でも,別ルートでシステムの継続を行えるようにする必要がある.
続きを読む