最近発売された技術評論社のムック「データベース徹底攻略」に寄稿しました。 この本は、データベースのための本ということで、データベース設計、SQL、MySQL、Redis、MongoDB、Redshiftという代表的な要素技術についてのまとめとなっています。各プロダクト(MySQL、Redis、MongoDB、Redshift)については、現場で実際に本格的に使われている方々による記事なので大いに参考になると思います。 私は冒頭のまとめ記事を寄稿しました。詳細はぜひお手に取って読んでくださればと思います。ここでも自分が各技術を現時点でどのようにとらえているか、本ではいささか書きづらい内容について、最近流行りの言葉でもある「技術的負債」という観点も踏まえて書いておこうと思います。 ・MySQL (RDBMS) 私はMySQLの中の人でもありましたし、これまで至るところで話してきたので省略します
The document discusses graph databases and their properties. Graph databases are structured to store graph-based data by using nodes and edges to represent entities and their relationships. They are well-suited for applications with complex relationships between entities that can be modeled as graphs, such as social networks. Key graph database technologies mentioned include Neo4j, OrientDB, and T
このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 MongoDB と NoSQL を試す Ted Neward コード サンプルのダウンロード Microsoft .NET Framework が 2000 年に発表され、2002 年に初めてリリースされてから約 10 年、.NET の開発者たちはマイクロソフトが次々と繰り出す新たなものすべてに遅れまいと必死に取り組んできました。そればかりか、.NET を日常的に使用する開発者と、そうでもない開発者から成り立つ "コミュニティ" を離れた開発者によって、マイクロソフトが対応しない穴を埋める新たなものがいくつか生み出されています。このことは混沌や混乱を招いているに過ぎないと言い換えることもできますが、どちらの表
Disclaimer: I do not build database engines. I build web applications. I run 4-6 different projects every year, so I build a lot of web applications. I see apps with different requirements and different data storage needs. I’ve deployed most of the data stores you’ve heard about, and a few that you probably haven’t. I’ve picked the wrong one a few times. This is a story about one of those times —
五月の終わりから Quipper で働いている。 Quipper は DeNA の co-founder である渡辺雅之氏がロンドンで創業したモバイル学習プラットフォームの会社で...みたいな話は長くなるし、読者の興味を引きそうにないのでやめておく。このへんの話を詳しく知りたい人は渡辺によるハーバード・ビジネス・レビューの連載をどうぞ。 ソフトウェア開発者にとって一番気になるのは、会社の事業内容とか売上利益よりも、「どんな環境でソフトウェア開発をしているのか」じゃないだろうか。どんなインフラを使っているのか、バージョン管理やタスク管理はどうしているのか、自動テストはどのくらいやっているのか、開発手法はアジャイルなのか、 Mac で開発できるのか、椅子は六万円以上か(冗談ですよ)、などなど。 こういった、ソフトウェア開発者が日々過ごす広義の「環境」について言えば、 Quipper はかなりい
http://www.bloomberg.com/news/2013-10-04/mongodb-becomes-king-of-nyc-startups-with-1-2-billion-valuation.html 10genが社名もMongoDBに変えてたことは知りませんでした。さて、同社が$1.2BのValuation (企業価値)で$150M調達ということですが、昨年、Githubが$750Mのvaluationで$100M調達したのに続き、オープンソースがベースになってる会社で大型資金調達が成功する事例が続いてますね。 MongoDBはHacker Newsで取り上げられる度に驚くほどネガティブコメントを集めてるのですが、今回も例にもれず、この資金調達のニュースには219件のコメントがつき、トップに掲載されてる(おそらく掲載順ロジックはUpvoteの数なので、一番人気のコメン
> 原文(Why MongoDB is a bad choice for storing our scraped data) 私自身はMongoDBを推進する立場なのだが、確かにMongoDBに適さないケースはある。 闇雲に推進しても結局は全員がアンハッピーになるので、この様なネタもどんどん紹介していこうと思う。 この記事はMongoDBを徹底的に使い尽くしたエンジニアが書いている様で状況が良く解った。 ちょっと難しい所もあるので要点を意訳して、軽く解説を書いてみる。 (もちろん是非原文で読むのをお勧めする) 状況 最初はMongoDBでうまく動いていたが、だんだん苦労が増えてきて 元々のアーキテクチャを刷新するタイミングでMongoDBから別のプロダクトに乗り換える事にした。 システムの規模 詳しく書かれていないが、1ノード辺り数TBとあるのでSharding環境ではないかと思われる。
まとめ 超長くなったのでまとめを上に持ってきた。 巷で言われているチューニングは結構嘘が多い事が解ってきた。 ツール等 workingSet Analyzer は信用ならない。(overSecondsはまあ良い) mongoperfの値は完全に参考にならない。 insert mongoperfの値はinsert性能と関連しない。(何を測ってるんだ?) カラムのプリアロケーションによるUPDATE時のデータ肥大化回避($setOnInsert)はMUST。 クリティカルな時間帯にストレージファイル(2GB)の生成を避けるチューニングの効果は懐疑的。 レコードプリアロケーション・チューニングは頑張る価値が無い。(むしろ逆効果) update 上記の通り必ずin-placeになるようにする。 paddingFactorが動くようだとお話にならない性能劣化 remove かなり高速。 全件削除の場
書籍紹介 本連載は下記書籍から第5章を基に、@IT向けに再構成して掲載しています。 目次 序 章 ビッグデータの時代 第1章 NOSQLとは何か? 第2章 NOSQLのデータモデル 第3章 アーキテクチャの基本概念と技術 第4章 HadoopはNOSQL? 第5章 主なNOSQLデータベース製品 第6章 NOSQLデータベースの選択基準 第7章 NOSQLを使うビジネス 本連載は書籍『NOSQLの基礎知識』(リックテレコム刊、ISBN:978-4897978871)で解説されている内容から一部を抜粋し、本連載向けに一部再編集して掲載したものです。 書籍では、一般にNoSQLと呼ばれている各種データベース技術について、基本概念から主要なプロダクトの特性、ベンチマーク結果までを紹介しています。データモデルやアーキテクチャの違いといった基本概念から、各プロダクトの特徴を理解できる内容になっていま
Join the official community for Google Workspace administrators In the Google Cloud Community, connect with Googlers and other Google Workspace admins like yourself. Participate in product discussions, check out the Community Articles, and learn tips and tricks that will make your work and life easier. Be the first to know what's happening with Google Workspace. ______________ Learn about more Goo
2012/06/17 RailsでMongoDBの使用を検討する際に気になったこと 最終更新日:2012/6/27 これまでRails+MySQLでWebアプリを開発してきたのですが、MongoDBについて調べ始めたところ、なかなか良さそうに思えてきました。 そこで、実際に使用できるかどうか検討してみましたが、その際に気になった点を挙げておきます。 メリットは何か? システムを停止しなくてもスキーマ変更が可能。 シャーディングの設定が簡単なので、容易にスケールアウトできる。 (オマケ的なメリットですが)idがデフォルト12バイト。 Rails ActiveRecordでは4バイトなので、もしかするとあふれる可能性があるかもしれないというのが頭に引っかかっていました。 MongoDBのObject IDでは、タイムスタンプ(4バイト)+マシンID(3バイト)+プロセスID(2バイト)+カウン
MongoDBは、よく知られているように、ジョインもトランザクションもサポートしてません。これは確かに不便なこともありますが、欠点・弱点というよりは、最初からそのように設計されているもので、ひとつの設計判断です。パフォーマンス、スケーラビリティ、耐障害性、分散化の容易性などをより重要視した結果でしょう。 MongoDBの特徴を見ると、大規模なデータセットを高速にハンドリングするためにチューンされているように思えます。しかし、それとは違った場面で使える機能性も備えています。それは「ユニオン型を自由に扱える」ということなんですが、地味であまり言及されないし、ちょっと分かりにくいところもあります。でも、この特徴は、僕にとっては嬉しいものです。ちょっと説明してみます。 ジョインとユニオン SQLDBはジョインができます。ジョインとは、“直積”と“等式的条件による絞り込み”の組み合わせです*1。等式
第1回目となる今回は、まずMongoDBの概要と特徴的な機能を解説し、どのようなケースで有効に使えるかを紹介します。 NoSQLへの流れ 過去20年間でCPUの処理能力は数十倍になり、ディスクの1バイトあたりの金額は1000分の1になりました。開発環境はクラウドに移行し、扱うデータ量とWebサイトのアクセス数は大幅に増加しました。このような環境の変化から、データストアへ求められるものが変化してきています。 RDBでは、高トラフィックなWebシステムのバックエンドという箇所では、性能の限界があると考えられるようになってきました。その結果、RDBでは性能に限界がある適用箇所にNoSQLを補完することによって補おう、という流れが出てきたと考えています。 図1 データストアに求められるもの NoSQLの分類 現在NoSQLと呼ばれているものは、大きく分けて3つに分類されます。 図2 NoSQLの分
This document discusses NoSQL databases and provides an example of using MongoDB to calculate a total sum from documents. Key points: - MongoDB is a document-oriented NoSQL database where data is stored in JSON-like documents within collections. It uses map-reduce functions to perform aggregations. - The example shows saving ticket documents with an ID and checkout amount to the tickets collection
mongoコマンドから接続した際にオールドタイプ(SQL脳)たる我々人類にも 調べやすい形でinsert、select、updateを行う方法を調べました。 定義参照 // use [データベース名] use [データベース名] // show databases show dbs // show tables show collections参照系 // select * from [コレクション名] db.[コレクション名].find() // select * from [コレクション名] where x=4 db.[コレクション名].find({x:4}) // select j from [コレクション名] where x=4 db.[コレクション名].find({x:4}, {j:1}) // select * from [コレクション名] limit 1 db.[コレクション
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く