タグ

nosqlに関するokinakaのブックマーク (13)

  • OrientDBをPHPから使う(1) - k4200’s notes and thoughts

    OrientDB? 仕事でソーシャル系のサービス作ってるんだけど、グラフデータはやっぱグラフDBを使ったほうが良いよね。 一番有名なNeo4jにしようかと思ったけど、以下の理由からOrientDBを試してみることにした。 「有名なの使うのって何かカッコ悪い」って思ってしまう軽度の中二病なので OrientDBは実際にはグラフDB + ドキュメントDBって感じらしいので 実際は、今年の初めにちょっと触り始めてたんだけど半年以上放置してて、最近ようやく時間が取れるようになったのでまた触ってみることに。 OrientDB のセットアップ インスコ こちらのページからパッケージをダウンロード。2種類あるけど、Graph Editionの方で。 後は適当な場所に解凍するだけ。 /usr/local の下とか /opt の下とか、まぁ好みでどうぞ。 起動 解凍したパッケージの中に bin/orient

    OrientDBをPHPから使う(1) - k4200’s notes and thoughts
  • NoSQLデータモデリング技法

    NoSQLデータモデリング技法.markdown #NoSQLデータモデリング技法 原文:NoSQL Data Modeling Techniques « Highly Scalable Blog I translated this article for study. contact matope[dot]ono[gmail] if any problem. NoSQLデータベースはスケーラビリティ、パフォーマンス、一貫性といった様々な非機能要件から比較される。NoSQLのこの側面は実践と理論の両面からよく研究されている。ある種の非機能特性はNoSQLを利用する主な動機であり、NoSQLシステムによく適用されるCAP定理がそうであるように分散システムの基的原則だからだ。一方で、NoSQLデータモデリングはあまり研究されておらず、リレーショナルデータベースに見られるようなシステマティック

    NoSQLデータモデリング技法
  • 分散KVS「okuyama」の活用ノウハウ

    前回の記事では「okuyama」のインストールから起動、そして操作までを、手順を追ってご説明しましたが、いかがだったでしょうか、無事に「okuyama」は動きましたか? さて連載最終回となる今回は、実際の導入時におけるシステム構成をご説明します。 連載の1回目のタイトルともなっている"NOSQLは「知る時代」から「使う時代」へ"の通り、今後NOSQLの導入が様々な種類のシステムへ始まるのではないかと考えています。 ではどのようなケースで利用できるのか? 今までご説明させていただいた通りNOSQLは全てのシステムケースにも向いているといったものではありません。どちらかと言えば特定のケースで力を発揮するタイプのストレージです。よって、適応するケースを見極める力が今後重要になってくると考えています。 今回は筆者が実際に構築したケースを基に「okuyama」を利用したケースをご紹介します。 1.

  • 第4回 スキーマレスで柔軟に扱えるMongoDB | gihyo.jp

    はじめに 今回はドキュメント指向型データベースの代表としてMongoDBを取り上げます。ドキュメント指向型データベースはRDBMSと違って、スキーマ(テーブル定義)が必要ないことが大きな特徴です。 今回も利用したコードやプログラムはgithubに置いてあるので適宜参照してください。 MongoDBの特徴 前々回、前回と紹介したmemcachedやTokyoTyrantは基的にRDBMSと組み合わせて、「⁠RDBMSの弱い部分を補う」という使い方でした。しかしMongoDBは少し違っていて、JOINが行えないこととトランザクションをサポートしていないこと以外は、ほぼRDBMSと同じように扱うことができるため、「⁠RDBMSの代替として使う」ことが可能です。 上述したようにMongoDBRDBMSと違ってJOINはできませんが、代わりに基準となるオブジェクトに別のオブジェクトをあらかじめe

    第4回 スキーマレスで柔軟に扱えるMongoDB | gihyo.jp
  • 第5回 APIの全体像とデータの投入 | gihyo.jp

    前回でCassandraへのアクセスするコードの基をおさえました。今回解説するのは以下の2点です。 CassandraのAPIの全体像 Cassandraにデータを投入するコードの詳細 3つの分類からAPIの全体像をおさえる 第1回でもご紹介しましたが、CassandraのクライアントAPIはThriftによって自動生成されます。APIは非常にシンプルなものが幾つかあるだけで、覚えるのもさほど難しくはありません。連載ではその中からよく使うものに特化してご紹介していきます。 以下にCassandraのAPIを、データ挿入系・データ検索系・認証/管理系の3つに分類してまとめてみました。まずはこれらにひと通り目を通してみてください。 データ挿入/更新/削除のAPI データ挿入、更新、削除のAPIは以下の表のとおりです。現実的によく使う中心的なAPIはbatch_mutate、removeの2

    第5回 APIの全体像とデータの投入 | gihyo.jp
  • クラウドの力を引き出す分散データベース

    はじめに 記事では、プライベート・クラウドなどで実際に利用可能な分散型データベースの一例として、Apache Cassandraを紹介します。 機能的な特徴やアーキテクチャの概要だけでなく、運用する上で必要となるクラスタとノードの操作方法(ノードの追加/削除、バックアップなど)についても説明します。 Apache Cassandraは、Amazon Dynamoと Google BigTableの特徴を統合した分散型データベースと言われています。クラウド向け分散データベースの事例を参照していただければ、より特徴を理解しやすくなると思います。 Apache Cassandraとは Apache Cassandraは、Amazon Dynamoの特徴である“耐障害性の高さやデータの分散保持を考慮した分散特性”と、 Google BigTableの特徴である“ColumnFamilyをベースと

  • Flareを使う(性能測定編)

    サーバの設定 各サーバ上で起動するFlareの設定は以下の通りです。 インデックスサーバの設定 data-dir = /home/admin/flare log-facility = local0 server-name = 192.168.13.21 monitor-threshold=3 monitor-interval=1 monitor-read-timeout=1000 ストレージサーバの設定(プロキシサーバも同じ) ※ server-nameは各サーバのIPアドレスに置き換える。 data-dir = /home/admin/flare log-facility = local0 storage-bucket-size = 16777216 index-server-name = 192.168.13.21 server-name = 192.168.13.22 インデックスサ

    Flareを使う(性能測定編)
  • 第4回 JavaでCassandraにアクセスする | gihyo.jp

    キースペース、カラムファミリの設定は以上です。 他にも、レプリケーション数やレプリケーションをどのように行うかなどの指定がありますが、今回は割愛します。 コミットログとデータディレクトリを設定する 次はコミットログとデータディレクトリの設定を行います。 Cassandraは、書き込み時には操作をすべてコミットログに追加で書き込んでいき、その実体(Memtableといいます)はメモリ上にカラムファミリごとに展開していく仕組みになっています。Memtableはサイズの閾値等をもっており、その閾値に達するとディスクに書き出します。この操作のことを「フラッシュ」といい、ディスクに書き出す構造のことを「SSTable」といいます。SSTableは一度書き出されるとその内容は不変で、実際の物理データとしては以下の3つがセットで書き出されます。 インデックス ブルームフィルタ データファイル インデック

    第4回 JavaでCassandraにアクセスする | gihyo.jp
  • 第3回 Cassandraのデータモデルを理解する | gihyo.jp

    前回までの説明でCassandraのインストールと動かすところまでいきました。今回はCassandraのデータモデルを理解して、実際にデータにアクセスしてみましょう。 データはすべて4次元または5次元の連想配列 Cassandraのデータは非常にシンプルなデータモデルを持っています。データはすべて4次元または5次元の連想配列のようになっています。 4次元の場合は以下の形で値にアクセスします。 [キースペース][カラムファミリ][キー][カラム] そして5次元の場合は以下の形でデータを特定します。 [キースペース][カラムファミリ][キー][スーパーカラム][カラム] Cassandraのデータモデルは以下の4つの概念で成り立っています。 カラム: データの最小単位。実際のキーと値、そしてタイムスタンプを持つ。 スーパーカラム: カラムの集合を扱う単位。 カラムファミリ: カラムまたはスーパ

    第3回 Cassandraのデータモデルを理解する | gihyo.jp
  • 第1回 RDBMSとNoSQLデータベース | gihyo.jp

    はじめに NoSQL(Not Only SQL)という言葉が注目を集めています。これは「RDBMSが得意なことはRDBMSで、不得意なところにはRDBMSにこだわらず、用途に合ったデータストアを使いましょう』という考え方です。最近では、いわゆるNoSQLデータベース (⁠key-valueストアや各種データベース⁠)⁠ が次々と登場してきています。 そこで今回から数回に渡り、それぞれのNoSQLデータベースの特徴や具体的な使い方について紹介していきます。 RDBMSの強みとは そもそも、MySQLやPostgreSQLなどのRDBMSの弱みを補うため、様々なNoSQLデータベースが登場してきたわけですが、RDBMSにはたくさんの強みがあることも忘れてはいけません。 RDBMSの強み データの一貫性 (⁠トランザクション) 更新時のコストが少ない(JOINが前提でテーブルが正規化されている)

    第1回 RDBMSとNoSQLデータベース | gihyo.jp
  • 第2回 Cassandraのインストールから起動まで | gihyo.jp

    前回はCassandraとは何かを簡単に説明しました。第2回では、Cassandraを実際にインストールして開発環境で動かしてみましょう。 Cassandraをインストールしよう 環境を確認する まずは環境の確認をしましょう。筆者の環境は以下のようになっています。 Windows 7 Professional Sun JDK 1.6.0_18 64bit Eclipse 3.5.1 この連載ではおもにWindowsでの環境を想定しています。ただ、CassandraはJavaベースなので、MacLinuxなど別OSでも同様に動くはずです。 Cassandraをダウンロードする 連載では現時点での最新版Cassandraha 0.6.1を使います。以下のサイトからダウンロードできます。 The Apache Cassandra Project URL:http://cassandra.ap

    第2回 Cassandraのインストールから起動まで | gihyo.jp
  • http://japan.internet.com/developer/20100511/26.html

  • 第1回 NoSQL、そしてCassandraとは | gihyo.jp

    NoSQLミドルウェアの特徴をもう少し細かく挙げてみます。分量の都合もあり個別には触れませんが、それぞれのNoSQLミドルウェアで差別化部分に関してはかなり詳細に説明がされていますので、ぜひそちらを参照してみてください。 高速に動作する リレーションモデルではないデータモデル スケールアウト型アーキテクチャ コモディティサーバによって構築される スキーマフリー SPOF(単一故障点)を持たない 自動的に複数台へレプリケーションする イベンチュアルコンシステンシまたは一貫性の選択が可能 SQLのような強力なクエリ言語を持たず、シンプルな問い合わせしかできない Cassandraとは何か NoSQLミドルウェアの筆頭といえばGoogle BigTableやAmazon Dynamoですが、オープンソースの世界でもいろいろなものが出てきています。その中でも最近特に注目を集めているのが、Apach

    第1回 NoSQL、そしてCassandraとは | gihyo.jp
  • 1