はじめに 本記事では、MongoDBのクエリを解説します。MongoDBはリレーショナルデータベース(以下"RDB"と略記)ではないため、SQLは使用できません。その代わり、MongoDB特有の「Mongoクエリ言語」を用います。Mongoクエリ言語のCRUD操作については公式ドキュメントに詳しい解説があります。 本記事の構成は、最初にMongoクエリ言語の特徴について解説し、2ページ目ではSQLとMongoクエリ言語の比較を行います。3ページ目では、MongoDBクエリ言語の使い方を説明し、最後に、プログラミング言語からの利用の仕方の説明として、Rubyからの利用を説明します。 Mongoクエリ言語の特徴 Mongoクエリ言語には以下の特徴があります。 コレクションの各メソッドを用いてCRUD操作をします メソッドの引数にはJSON形式のデータを渡します 変数が使えます 制御構造が使えま
統計情報を取る † 定量的な情報収集のススメ mysql> show global status; (5.0.2以上の場合) mysql> show status; (5.0.2未満の場合) ↑ ファイルオープン数の調整 † 高負荷なときに以下のコマンドを実行 $ mysqladmin -u root -p extended-status | grep Open Enter password: | Open_files | 515 | | Open_streams | 0 | | Open_tables | 256 | | Opened_tables | 45281 | Open_files, Open_tablesの数が多い場合は /etc/my.cnf の以下を調整。この値が大きすぎると「Error in accept: Too many open files」エラーが発生し、MyS
前回の記事でMongoDBをインストールしましたので、MongoDBをphpから操作してみました。 CentOS5.4にMongoDBをインストールする方法! - @camelmasaの開発日記 testデータベース&testコレクションの作成 testデータベース&testコレクションの作成には下記のスクリプトを使用しました。 (Mongoクラスのコンストラクタは適切な値を設定して下さい。) <?php $mongo = new Mongo("192.168.80.139:27017"); $db = $mongo->selectDB("test"); $col = $db->createCollection("test"); $col->insert(array("test" => "test")); スクリプトを実行すると、/data/db内にデータベースファイルが作成されます。 -
インメモリデータベース、カラム型データベースは使い物になるのか? インメモリとカラム型データベースの可能性を調べる(その1) ERPベンダ最大手のSAPは2010年、新規に開発したデータベース「SAP HANA」(当時の名称は「SAP High-Performance Analytics Appliance」)を発表しました。 HANAの製品化を背景に、SAPは2012年5月にデータベース市場への本格参入を宣言し、オラクルやIBM、マイクロソフトとデータベース市場で競合していくことを表明。そして今年2013年2月にはついにERPと組み合わせた「SAP Business Suite powered by SAP HANA」の出荷を開始し、業務アプリケーションのバックエンドデータベースとしてHANAの本格利用を開始しました。 HANAには、これまで主流だったリレーショナルデータベースとは異なる
カラム型データベースはなぜ集計処理が高速で、トランザクションが苦手なのか。インメモリとカラム型データベースの可能性を調べる(その4) 現在主流となっているOracle、SQL Server、DB2などのリレーショナルデータベースは事実上すべて、行(ロー)指向で内部の処理を行っています。一方で、最近急速に注目されているのが、列指向で内部処理を行い、大量データの集計や分析処理に優れた「カラム型データベース」(あるいはカラム指向データベース、カラムナーデータベース)です。 カラム型データベースはSybase IQやNetezza、Verticaなどデータウェアハウス専用のデータベースで主に採用されています。また、SQL Serverには「ColumnStore Index」、Oracle Exadataには「Hybrid Columnar Compression」と呼ばれるカラム型データベースの
> 原文(Why MongoDB is a bad choice for storing our scraped data) 私自身はMongoDBを推進する立場なのだが、確かにMongoDBに適さないケースはある。 闇雲に推進しても結局は全員がアンハッピーになるので、この様なネタもどんどん紹介していこうと思う。 この記事はMongoDBを徹底的に使い尽くしたエンジニアが書いている様で状況が良く解った。 ちょっと難しい所もあるので要点を意訳して、軽く解説を書いてみる。 (もちろん是非原文で読むのをお勧めする) 状況 最初はMongoDBでうまく動いていたが、だんだん苦労が増えてきて 元々のアーキテクチャを刷新するタイミングでMongoDBから別のプロダクトに乗り換える事にした。 システムの規模 詳しく書かれていないが、1ノード辺り数TBとあるのでSharding環境ではないかと思われる。
今日はちょっとだけはまったSQLの話し。例えばブログのエントリーについたコメントが新しい順にエントリーをソートしたいときを考えてみます。 テーブル構成はこんな感じ。 CREATE TABLE `entry` ( `id` int(11) NOT NULL auto_increment, `title` text, `body` text, `created_at` datetime default NULL, PRIMARY KEY (`id`) ); CREATE TABLE `comment` ( `id` int(11) NOT NULL auto_increment, `entry_id` int, `body` text, `created_at` datetime default NULL, PRIMARY KEY (`id`) ); で、入ってるデータはこんなん。 mysql
MongoDBイン・アクション 作者: Kyle Banker,Sky株式会社玉川竜司出版社/メーカー: オライリージャパン発売日: 2012/12/14メディア: 大型本購入: 5人 クリック: 55回この商品を含むブログ (4件) を見る MongoDB集計機能 CentOSでNginxのログをFluentdを使ってMongodbにリアルタイムで格納する - Yuta.Kikuchiの日記 時給3000円のCEOと揶揄されている@yutakikucです。今日は簡単にMongodbのログ集計機能を紹介します。機能が豊富過ぎて泣けてくるんで、ログ解析する人は是非使ってみて下さい。FluentdでMongodbにNginxのLogを流し込む設定は上のエントリーを参照して下さい。次回はAggregationFramework/MapReduce周りについて触れたいと思います。 泣ける話 : 集
unassert - encourage reliable programming by writing assertions in productionTakuto Wada
NEXTユニコーン企業で働くエンジニアたちに体当たり取材!NEOジェネレーションなスタートアップで働く技術者たちの、「挑戦」と「成長」ヒストリーをご紹介します 今回話を聞いたのは、家にある家電を「スマート家電」に変えてしまう『Pluto』を製作・販売するPlutoの3人。いかにして彼らは、自宅のLANをつなぐだけでただの家電をスマート家電に早変わりさせる仕組みを実現したのか? その歩みをひも解いてみよう。 2013年1月27日、産経新聞は経済産業省がスマートフォンによる家電の遠隔操作に関する規制を緩和する方針を固めたと報じた。 この規制緩和を期に、ネットとリンクして遠隔操作が可能になる「スマート家電」は増加していくだろう。そんな、家電スマート化を推し進める急先鋒といえるのが『Pluto』だ。 Plutoとは、2012年11月より発売が開始された、たった1万2800円(税込み)でリモコン制御
MySQL 5.6正式版が公開。オプティマイザやInnoDBの向上でさらに高速。クラッシュセーフなレプリケーションなど 米オラクルは、MySQL 5.6の正式版が公開されたことを発表しました。MySQLはオープンソースのデータベースで、無料で利用可能なMySQL Community Server 5.6.10も公開されています。 MySQL 5.6のおもな新機能はプレスリリースやドキュメント「What's New in MySQL 5.6」で紹介されています。本記事ではこれらと、オープンソースカンファレンス 2012 Tokyoで公開された日本オラクル 山崎由章氏の資料「圧倒的な進化を続けるMySQLの最新機能」(PDF)の一部を引用しつつ主な機能を紹介します。 オプティマイザ、InnoDB、レプリケーション MySQL 5.6では、SQLを解析して実行するオプティマイザの改善と、データベ
Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Errors Exceptions Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Context options and parameters Supported Protocols and Wrappers Security In
はじめてこのサイトに来られたみなさまに ≫ サイト内容の引用または転載について ≫ 無断転載はご遠慮ください。リンクはご自由になさって下さい。 掲載内容については各自の責任において利用してください。当方では責任を負いません。引用の際は引用元を明記くださるようお願いいたします。詳しくはこちらをご覧下さい。 テレビドラマデータベース利用規約 ≫ テレビドラマデータベース全文検索について ≫ この全文検索システムは、Q'z Creative co.,ltd.より開発・提供を受けています。 なお、テレビドラマデータベースの掲載内容へのお問い合わせにつきましては、インフォメーションの欄をご確認ください。 参考文献:『テレビドラマ全史』(東京ニュース通信社刊、現在は品切れ)。このほかの引用につきましては個別の解説欄に明記しております
グーグルのBigQuery、高速処理の仕組みは「カラム型データストア」と「ツリー構造」。解説文書が公開 SQLのクエリに対応し、3億件を超えるデータに対してインデックスを使わないフルスキャン検索で10秒以内に結果を出す。グーグルのBigQueryは大規模なクエリを超高速で実行する能力を提供するサービスです。その内部を解説する文書「An Inside Look at Google BigQuery」(PDF)を公開しました。 グーグルは大規模クエリを実行するサービスとして社内でコードネーム「Dremel」を構築しており、2010年にそのDremelを解説する文書「Dremel: Interactive Analysis of Web-Scale Datasets」を公開しています。BigQueryは、そのDremelを外部公開向けに実装したものです。 グーグルはこのDremel/BigQue
開発者が知っておくべき、ドキュメント・データベースの基礎:特集:MongoDBで理解する「ドキュメント・データベース」の世界(前編)(1/3 ページ) ドキュメント・データベースの最大の特長は、「パフォーマンス、大量データ、スケーラブルといった課題を克服するためのシンプルなセットを提供している」という点だ。 もちろん既存の多くのリレーショナル・データベース(以下、RDB)でも、ドキュメント・データベースが備えている特徴的な各機能に類似することが実現可能だし、さらに広範な概念や機能性を提供している。例えばシャーディング(Sharding。詳細後述)についても、既存の多くのRDBでデータの分散化が可能だ。しかしドキュメント・データベースでは、「そもそもデータ構造がこうした構成に適している」という点と、「それに付随して、考え方もシンプルである」という点が優位な特徴である。 万人が、データベースが
これまたマニアックな苦笑。 DB Patternsでは、ありがちなデータベース設計を共有することができる。 フォトアルバムだったらこういうテーブルがあって、こことこのキーが共有されるとかなんとかをグラフィカルに見ることができる。 まだ投稿も少ないし、いろいろ突っ込みどころもあるのだが、初心者のうちは確かに悩むところだし、便利なサービスではなかろうか。 ユーザー登録をするとすでにあるパターンをForkしたり、新しく作ったりもできるようだ。興味がある方はどうですかね。
codicは、プログラマーのためのネーミング辞書です。新しいcodicでは、翻訳エンジンを搭載しネーミングをジェネレートできるようになりました。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く