MongoDBは悪だ。なぜならそれは… …データを無くす(ソース:1、2)。 …実際、長期間、デフォルトでエラーを無視し続け、何があってもすべての単一書き込みが成功したとみなした( 32ビットのシステムで3GBかそこらを使用したら、MongoDBの制限によって何の警告もなしに全データを失うことになった)。 …宣伝していたユースケースでですら遅く、これが早いと主張するには完全に証拠に欠けている(ソース:3、4)。 …ほぼ全てのユースケースで、暗黙のスキーマという悪しき習慣を強要してくる(ソース:4)。 …ロッキングに問題がある(ソース:4)。 …セキュリティの問題になるくらい、応答時間が酷く遅い。求めてきた人全員に認証なしで全データをさらしてしまうという危険なデフォルト設定をパッチするのに2年かかった(ソース:5)。 …ACID特性に準拠していない(ソース:6)。 …拡張やメンテナンスをする
MongoDB開発チームは11月3日、最新版となる「MongoDB 3.2」をリリースした。ストレージエンジンの強化、ドキュメントバリデーション機能の導入など多数の機能が盛り込まれている。 MongoDBはさまざまなデータを柔軟に扱えるドキュメント指向データベース。データの操作やアクセスには独自の方式を利用するため、「NoSQLデータベース」と言われることもある。構造化されたデータを直接扱え、JavaScriptと親和性が高いのが特徴。 MongoDB 3.2は3月に公開されたバージョン3系の最新版となり、大規模な改善を図った。ミッションクリティカルアプリケーション向けのモダンなデータベースとして利用できるという。 新たにインメモリ型のストレージエンジンや暗号化に対応したストレージエンジンが導入された。データベースの機能を拡張できるもので、ワークロードに合わせて最適なものを選択できる。複数
Karl Seguinさんの「The Little MongoDB Book」を和訳しました。 この本はMongoDBの基礎を実際に手を動かして学ぶチュートリアルです。 MongoDBの基礎から、データモデルの設計方法、MapReduceなど幅広い内容をカバーしています。 また、特別MongoDBに興味が無くても筆者のNoSQLへの考え方は一読の価値があるだろう。 ダウンロードPDF版 the-little-mongodb-book-ja.pdf epub版 the-little-mongodb-book-ja.epub(あんまりきれいに組版できてないけど…) 誤訳などあれば @hamano まで ソースはこちら: https://github.com/hamano/the-little-mongodb-book 更新履歴2012/04/17 v1.0 初版公開。 2012/06/15 v
var restify = require('restify'); function respond(req, res, next) { res.send('hello ' + req.params.name); } var server = restify.createServer(); server.get('/hello/:name', respond); server.head('/hello/:name', respond); server.listen(8080, function() { console.log('%s listening at %s', server.name, server.url); });
この記事は 闇アドベントカレンダー、 22 日目の記事です。何書こうか迷って担当日に書けなかったので三日ほど遅れてしまったけど書きます。 2011 年の 10 月から FANIC という音楽配信サービスの開発に携わっていたのだけど、サービスを成長させることができず、 2013 年の 8 月にサービス終了した。 サービスが死ぬのは技術者がクソだということだけではないと思う。市場とか外部環境に左右されるし、企画とか売り方がダメなことの方が多いと思う。しかし現実に自分はプログラマーとして FANIC というサービスの死に荷担してしまった。弔いになるか分からないけど、 FANIC で何がよくて何が良くなかったのかを書いてみたいと思う。 FANIC とは FANIC は主にアマチュアのミュージシャンをターゲットにしたホームページ作成&音楽販売サービスで、アーティストは自分の公式ホームページを簡単に作
2015-04-07 普段MySQL使ってる僕がMongoDBを使って気づいたこと2つ テクノロジー プログラム Tweet ロゴ見て気づいたのですが、 MongoDBの頭文字って小文字なんですね。 そんなことは置いといて。 最近mongoDB(小文字に変えたw)を使う機会がありました。 僕が普段触っているMySQLと違って、 ググっても、まあー情報が少ないんですよね。 コマンドとかは割りとあるのですが、 PHPでの操作とかは少なかった印象です。 そこで今回は、 PHPでの操作 mongoDBの復旧(リストア) の2つを備忘録として、まとめておこうと思います。 PHPでループさせて検索ができない こういうことです↓ ※サンプルの一部はPHPの公式ドキュメントから拝借しました。 つまり、検索値(findの条件)を変数にしてループすることが出来ないようです。 まあ、そもそも何回もDB接続せずに
印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます 「MongoDB」はNoSQLの中でもドキュメント型NoSQLに分類されます。MongoDBは他のNoSQLと同様に、リレーショナルデータベース(RDBMS)と比較してビックデータや非構造データの処理が得意といった特徴がありますが、ここではそういったNoSQLの一般的な特徴の紹介は割愛し、他のNoSQLとは違うドキュメント型NoSQLならではの特徴、そしてMongoDBならではの特徴を紹介します。 ドキュメント型ならではの特徴 ドキュメント型NoSQLではデータとして階層型データ構造であるJSONを扱います。図1にRDBMSのリレーショナルデータ構造、キーバリューストア(KVS)のキーバリューデータ構造、ドキュメント型NoSQLのJSO
MongoDBを使うシステムが、最近多いと思います。 2.6系(安定版)の最新2.6.7ですが、Date型のインポート処理にバグがありそうです。 「1970/01/01」以前の Date型 を mongoexport すると、負の "$numberLong" として出力されるのですが、それを mongoimport すると、それ以降のフィールドが欠落してしまうのです。 例えば、ユーザマスタに「誕生日」フィールドがあると、45歳以上の人は「1970/01/01」以前の値が入っているわけで、マスタデータを移行したりでもすると、その人のフィールドがガッツリ無くなってしまいます。でも若手は大丈夫だから「どうせ部長の使い方がおかしいんでしょwww」といういつもの「偉い人に限って障害が発生する」パターンが展開されます。 大急ぎで調べた所、以下が判明しました。 2.6形式 "1965-11-17T00:
最近、MEANがイイという話をチラホラと耳にする。先日も次の記事がはてブで話題になっていた。 MEAN(MongoDB, Express, AngularJS, Node.js)スタックが優れている理由 - Mozilla Open Web Day in Tokyoを終えて - albatrosary's blog この記事の冒頭では、MEANはLAMPに変わる技術として紹介されているが、果たしてそれは正しいのだろうか。(この記事では、LAMPを例にとりつつJavaがどうのという記述があるので、恐らくはLAMPではなく既存のリレーショナルデータベースを用いたアーキテクチャ一般について述べたいのではないかと思う。)MEANについて少し思うところがあるので、今日はMEANの可能性について書き綴っておこうと思う。ただし、私自身MEANスタックと呼ばれるシロモノは使ったことがなく、構造を理解した上
TwitBlogin! http://twitblogin.com/ とか作ったことだし、そこそこ開発環境整って、今なら思いつく限りのサービスはさっくり実装できそうだったのでPython初心者向けに書いておく。 少しでもPythonユーザが増えれば幸い。 対象は Python の基本的な構文程度はわかるけど、具体的に何から手をつけていいかわからない人 目次 Apache/WSGI/MongoDBの環境構築 flask [ Sinatra風ウェブアプリケーションフレームワーク] pymongo [ MongoDBラッパー ] werkzeug [Web Application デバッガ] jinja2 [ HTMLテンプレートビルダー ] pyquery [ jQuery風HTMLパーサ ] nose [ TDD ] 細かいライブラリの使い方とかPython本体の言語仕様とかは適当にぐぐって
> 原文(Why MongoDB is a bad choice for storing our scraped data) 私自身はMongoDBを推進する立場なのだが、確かにMongoDBに適さないケースはある。 闇雲に推進しても結局は全員がアンハッピーになるので、この様なネタもどんどん紹介していこうと思う。 この記事はMongoDBを徹底的に使い尽くしたエンジニアが書いている様で状況が良く解った。 ちょっと難しい所もあるので要点を意訳して、軽く解説を書いてみる。 (もちろん是非原文で読むのをお勧めする) 状況 最初はMongoDBでうまく動いていたが、だんだん苦労が増えてきて 元々のアーキテクチャを刷新するタイミングでMongoDBから別のプロダクトに乗り換える事にした。 システムの規模 詳しく書かれていないが、1ノード辺り数TBとあるのでSharding環境ではないかと思われる。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く