2. Что
это
за
зверь?
база
данных
NoSQL
документо-‐ориентированная
производительная
масштабирующаяся
3. Гибкая
схема
В
базу
можно
положить
любой
JSON
db.presenta_ons.insert({
_tle
:
“Доклад”,
author
:
{
name
:
“Сергей”,
last_name
:
“Туленцев”},
date
:
new
Date()
});
4. Нет
джойнов
Потому
что
они
вредные
и
не
нужны.
db.users.insert({
name
:
“Ivan
Petrov”,
address
:
{
country
:
“Russia”,
city
:
“Moscow”},
interests
:
[“women”,
“hun_ng”]
});
5. Нет
транзакций
Штука
хорошая
Но
страшно
мешает
масштабируемости
Есть
атомарные
апдейты
db.users.update({
_id
:
1},
{
$set
:
{
status
:
‘banned’
}});
6. Есть
индексы
db.foo.ensureIndex({
a
:
1
});
db.foo.ensureIndex({
a
:
1,
b
:
-‐1});
db.foo.ensureIndex({c
:
1},
{unique
:
true});
db.foo.ensureIndex({
d
:
1},
{background
:
true});
db.foo.ensureIndex({e
:
1},
{sparse
:
true});
19. Чанки
Лимит
–
64
Мб
или
100,000
объектов
Разделяются
по
медианному
ключу
Хранят
диапазон
значений
key
from
key
to
shard
min
key
M
shard001
M
max
key
shard002