Rustが再評価される:エコシステムの現状と落とし穴 In this article, we share findings and insights about the Rust community and ecosystem and elaborate on the peculiarities and pitfalls of starting new projects with Rust or migrating to Rust from othe...
最近発売された技術評論社のムック「データベース徹底攻略」に寄稿しました。 この本は、データベースのための本ということで、データベース設計、SQL、MySQL、Redis、MongoDB、Redshiftという代表的な要素技術についてのまとめとなっています。各プロダクト(MySQL、Redis、MongoDB、Redshift)については、現場で実際に本格的に使われている方々による記事なので大いに参考になると思います。 私は冒頭のまとめ記事を寄稿しました。詳細はぜひお手に取って読んでくださればと思います。ここでも自分が各技術を現時点でどのようにとらえているか、本ではいささか書きづらい内容について、最近流行りの言葉でもある「技術的負債」という観点も踏まえて書いておこうと思います。 ・MySQL (RDBMS) 私はMySQLの中の人でもありましたし、これまで至るところで話してきたので省略します
必要に応じて設定ファイルを書き換える 今回は別の仮想PCにmongodbをインストールしたので、そのアドレスを指定した データベース設計設計というほどではないけれど、MySQLのときは半角スペース区切りにしておけば、それなりにlikeで早く検索できるんじゃないかという作戦だったけど、MongoDBはデータに配列をいれると、どれかに合致するものを選んでくれるので、これを使うといいらしい www.mongodb.org/pages/viewpage.action?pageId=6488122 そこで、 zip: Strings address: Array address_kana: Array という感じでモデルを作成した データ挿入seed.rbは前回のスペース区切りのデータを流用するのでこんなかんじで require 'csv' CSV.foreach("db/real_ken_all.
「演算子のインジェクション」と「SSJI」:NoSQLを使うなら知っておきたいセキュリティの話(1)(1/2 ページ) ここ数年、大量データ処理時の高速性やデータ構造の柔軟性などから、「NoSQL」が注目を集めています。それと同時に、NoSQLを使うアプリケーションに対する攻撃手法も研究されるようになりました。この記事では、NoSQLを使ったアプリケーションの脆弱性と対策について解説します。 注目集める「NoSQL」 ここ数年、NoSQLと呼ばれる種類のデータベースが注目を集めています。NoSQLはSQL言語を使用しないデータベースの総称で、大量データ処理時の高速性やデータ構造の柔軟性などのメリットがあるため、従来のリレーショナルデータベース(RDB)を補完・代替するものとして、大規模なWebアプリケーションなどにおいてNoSQLを採用する事例が増えています。 このような新しい技術が普及し
Campaign.find {client_id:req.param('client_id')}, (error, campaigns) -> if error response = error: error.message else for campaign in campaigns query = campaign_id: campaign._id console.log query CampaignResponse.find query, (err, campaignResponsesCount) -> console.log campaignResponsesCount response = campaigns res.json response For some reason, this returns no results. However, there are items i
前回、MongoDBでSNSつくるぞという記事を書いてから随分時間がたってしまいました。単に私がだらけていたということもあるのですが、一番ひっかかって時間を取られていたのが、MongoDBにおけるスキーマ設計の考え方です。 いまだに試行錯誤中ではありますが、現時点において私がこうあるべきと理解しているところをアウトプットしてみたいと思います。 1.One to Many のケース たとえば注文と注文明細のケースを考えてみます。RDBで1対多のリレーションを設計する場合、 というように、注文明細を別テーブルにするのが普通かと思います。しかし、ドキュメント指向のMongoDBにおいては、RDBと違ってオブジェクト内に柔軟なデータ構造を実現できるため、 というように一つのCollection内にデータを埋め込んでしまうのが、パフォーマンスの点からも良しとされています。 ただし、以下の2点について
Mongooseを試してみましたが、mongoDBかなり扱いやすいです。 スキーマレスなドキュメント指向データベースはRDBMSのようなカラムをいちいち定義しなくていいので柔軟にデータベースが使えます。 ドキュメント指向データベースになれるとRDBMSはもう使えないかも・・。 1. mongoDBのインストール 前回の記事参照。 → MongoDBインストール手順 2. mongooseのインストール コマンド一発でOKです。 $ npm install mongoose 3. コードサンプル // MongoDB // MongoDBサーバーの設定 var mongoose = require('mongoose'); var crypto = require('crypto'); // Schemaを取得 var Schema = mongoose.Schema; // ModelのS
お久しぶりです。@doryokujinです。11/14(日)に行われました、第8回 データマイニング+WEB 勉強会@東京−大規模解析・ウェブ・クオンツ 祭り−で発表してきました。Togetterも参考にして下さい。 発表者・参加者双方の議論を重視するこの勉強会、今回もアツイ議論が絶えず巻起こって、とてもエキサイティングで有意義な勉強会でした。僕は前回に引き続き、今回も発表側として参加させていただきました。その時の資料は以下になります。 MongoDBとAjaxで作る解析フロントエンド&GraphDBを用いたソーシャルデータ解析 View more presentations from doryokujin. 前回のログ解析バックエンドの続編として、散在する各種ログを集計してMongoDBに入っているデータを表・グラフとして可視化するためのフロントエンドのお話と、ソーシャルデータの解析をG
このドキュメントについて 本ドキュメントは、 Node.JS の MongoDB ORM-like な機能を提供するユーティリティライブラリである Mongoose のマニュアルを翻訳したものです。 誤り等ございましたら、 @muddydixon までご連絡ください オリジナルコピーライト Mongoose by gradebook LearnBoost Labs. Released under the MIT license - Copyright LearnBoost 2011 Mongoose 1.0 Mongoose とは ? Mongoose は非同期環境において機能することを目的とした MongoDB のオブジェクトモデリングツールです。 モデルの定義は簡単です var Comments = new Schema({ title : String , body : String
経度・緯度は配列またはハッシュとして保存します。今回はlocというフィールドに配列として保存します。yamanotesenというコレクションにinsertするクエリは、以下のようになります。 > db.yamanotesen.insert({ name:"五反田",loc: [ 139.723822, 35.625974 ] }); > db.yamanotesen.insert({ name:"恵比寿",loc: [ 139.710070, 35.646685 ] }); > db.yamanotesen.insert({ name:"新宿",loc: [ 139.700464, 35.689729 ] }); > db.yamanotesen.insert({ name:"新大久保",loc: [ 139.700261, 35.700875 ] }); > db.yamanotesen
MongoDB は、いわゆる NoSQL データベースの一つです。 公式サイトの文言をそのまま信じるなら、 ドキュメント指向ストレージで インデックスをサポートしていて レプリケーションができて高可用性に富んでいて 自動データ分割してくれて 多彩な検索クエリが使えて 更新がアトミックで速くて Map/Reduce も使えたりしちゃったりして GridFS っていう何でもつっこめるファイルシステムを使っていて 商用サポートもある といった特徴を持つプロダクトです。 私は、自動分散と、単純なKVSにはない豊富な検索クエリに惹かれて、使ってみようかと思いました。インデックスがあるのもいいですね! というか、MongoHQ ですよ! Amazon EC2 のサーバーとつなげられるらしい、自動スケールアウト管理不要サービスです。最初無料からスタートして安いんですよねー。これが決め手です。 では、イン
NoSQLデータベースMongoDBをPythonと組み合わせて使う方法を概説した書籍です。Python 2.7とpymongoを利用してMongoDBのさまざまな機能にアクセスします。MongoDBへの接続、データの読み書き、削除といった基本的なものから、サブドキュメントの利用、位置情報の操作、アップサートなどMongoDBに特化した機能までを紹介します。またPylons、Pyramid、DjangoとMongoDBを組み合わせて利用するための基本的な情報も掲載しています。なお本書はEbook版のみの販売となります。 まえがき 1章 使ってみる はじめに 参照ドキュメントのありか MongoDBのインストール MongoDBの実行 MongoDBを使うためのPython環境の設定 2章 Pythonを使ったMongoDBの読み書き MongoDBとPythonを接続する データベースハン
Node.js、MongoDBでデータの保存:Node.jsを使ってみよう(2)(1/4 ページ) Node.jsとSocket.IO、MongoDBを使用して、Webページの更新内容がリアルタイムにView画面に反映されるサイトを作ってみた MongoDBの紹介 前回はNode.jsでWebアプリを作成するために、ExpressやSocket.IOを使用したデモを基に説明した。今回はWebアプリのデータを保存するために必要なデータベースとしてMongoDBの使い方を説明していく。今回の記事でも後半でMongoDBを使った簡単なデモを用意しているので試してみてほしい。 MongoDBとは、ドキュメント指向のデータベースでNode.jsと相性がいいため、Node.jsとともに注目されている。Node.jsで実装したREABLOエンジンを使ったTech Releaseでも記事のデータベースとし
TwitterのストリーミングAPIを利用する場合、かなりのデータ量が流れてくるので、リアルタイムに解析・集計などを行うと処理が追いつかない可能性が出てきます。 そこで、流れてきたデータをいったんどこかに保存しておいて後からバッチ処理で解析をしていく事になると思います。今回はその保存先にMongoDBをチョイスします。 なぜMongoDBなのか# RDBMSに比べて高速 BSON形式で保存するので、JSONの階層構造をそのまま維持して保存可能 NoSQLながらGROUP BYライクな集計処理が可能 ということで、試しにストリーミングAPIのsampleから流れてくるデータをMongoDBに保存するスクリプトを書いてみました。このスクリプトを動かすには、別途MongoDB本体と「json」「bson_ext」「mongo」の3つのgemが必要になります。 # coding: utf-8 #
MongoDB使ってますかー?便利ですよー? 最近、位置情報を処理するのにこのMongoDBを使っています。何故Mongoかと言うと 「この位置から500m以内の施設情報をヨコセ」 といった検索が超簡単にできるから。 論より証拠。 MongoDBには[緯度、経度]といった配列を含むデータをつっこんでおきます。こんな感じ。 [js] db.test.save({‘id’:’hoge’, ‘place’:’新宿駅’, ‘loc’:[35.690921, 139.700258]}); db.test.save({‘id’:’hoge’, ‘place’:’スタジオアルタ’, ‘loc’:[35.69271580036533, 139.70121502876282]}); db.test.save({‘id’:’test’, ‘place’:’東京都庁’, ‘loc’:[35.6894743099
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
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く