Skip to content

Instantly share code, notes, and snippets.

@canujohann
Last active October 28, 2016 02:08
Show Gist options
  • Save canujohann/c1ee553fbc4d198b2a1f to your computer and use it in GitHub Desktop.
Save canujohann/c1ee553fbc4d198b2a1f to your computer and use it in GitHub Desktop.
MongoDB

MONGODB実験

mongodbダウンロード

//server起動
mongod --dbpath "c://data/db"

//別windowで接続
mongo

//DB洗濯
use mydb

//データ作成(json形式)
var taka = {name:'takamatsu', level:'pro'}
var kishi = {name:'kishikawa', level:'meccha-pro'}

//mycollectionというcollectionにデータを追加
db.mycollection.insert(taka)
db.mycollection.insert(kishi)

//collections一覧
show collections 

//検索
db.mycollection.find()	//検索
db.mycollection.find( { name : 'kishikawa' } )

//削除
db.mycollection.remove( {name : 'takamatsu'} )

MongoDB

noSQLについて

MongodはRDBMSではなくnoSQL系のデータベースです。NoSQL には、主要なものとして:

データ管理 説明
キー・バリュー型 キーに対してバリュー(値)という単純な構造
ソート済みカラム指向 行キーに対してカラム(名前と値の組み合わせ)の集合を持つ
ドキュメント指向 XMLやJSONといった、 スキーマレスでデータ構造が柔軟なもの

RDBMSとnoSQLの違い

noSQLは関係モデルではないデータストアの特徴として、固定されたスキーマに縛られないこと、関係モデルの結合操作を利用しないこと。

いつ使う?

  1. 関係モデルを必要としないデータを扱う時
  2. 大量のデータを扱う時

facebook、google等のウエブの大手企業も使っています(フロント)

メジャーなnoSQL DB

  • BigTable (Google)
  • Amazon DynamoDB (アマゾン)
  • MongoDB
  • Redis
  • Apache Cassandra

オープンソースnoSQLDBの一覧はこちら

デメリット

  • トランザクションを利用できないもの
  • 結合を利用できません

参考リンク

@RMohan99
Copy link

Thanks for a simple introduction

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment