19. Mongo

19. Mongo

19. Mongo

22 май 2013

Бази данни: кратка история

Видове схеми (schema)

(Схема - структурата на една база данни)

Фиксирана схема

Видове схеми 2

Динамична схема

Защо релационни бази данни?

Защо да бягаме от релационни бази данни?

Key-value Stores

Изпълняват две операции:

Стойностите са непрозрачни, може да се търси само по ключ.

>>> import shelve
>>> s = shelve.open("mydb.db")
>>> s['hello'] = True
>>> s['goodbye'] = 'Bob'
>>> s.close()

dbm е по-гъвкава алтернатива на shelve

Документни бази данни

Влиза Mongo

Как се казват нещата в Mongo

Операции

Ключове и стойности

ObjectId

Уникален идентификатор за всеки запис

Инсталация

Качваме Mongo с любимия си package manager.

pip install pymongo

Пускаме сървър

$ mongod

Пускаме клиент

$ mongo

Код

import pymongo
mongo = pymongo.Connection('localhost')
db = mongo['myapp']
users = db['users']
users.insert({'_id': 'bob', 'firstname': 'Bob', 'lastname': 'Red', 'phones': ['0888112233', '0899334455']})
user.find_one('_id': 'bob')

Библиотека

Ключове

Как да си изберем ID (primary key)?

Книги

Книгата има следните полета:

Автори

Ъпдейти

Търсения

books.find({'title': '1984'}).sort({'year_of_publishing': 1})

Сложни търсения

Индексиране

Въпроси?