LINUX.ORG.RU

Нереляционные модели данных.

 


0

1

Что почитать по нереляционным моделям данных? Я понимаю, как организованны данные в реляционной БД, понимаю БД вида ключ-значение. И на этом, пожалуй, всё. Интересует, какую структуру может иметь нереляционная БД, как можно организовать взаимосвязи между элементами такой БД. Ввиду слабой структурированности данных, реляционная модель не подходит.

PS. Для pet-project. Деталей раскрывать не буду.

★★★★★

что для тебя «элементы БД» и «структура»? Какую структуру имеет реляционная БД?

anonymous
()

Вспоминается сетевая. Когда-то очень нравилась. db_vista.

Elyas ★★★★★
()

сетевая, иерархическая

anonymous
()

А бывает нереляционные модели кроме ключ/значение? Можно, конечно, ещё объектные вспомнить, но там тоже по факту ключ/значение (ключ = id объекта).

monk ★★★★★
()

Теорию лучше сразу совмещать с практикой. Почитай, например, про CouchDB, книга по ней есть в открытом доступе.

unfo ★★★★★
()
Ответ на: комментарий от monk

column family, graph based. И сами еще отличаются будь-здоров, в самых базовых вопросах. Реляционки обычно ACID и работают в основном через SQL

А вопрос ТСа, о best practicies. Тут во всех базах по разному, от понятных и часто очевидных вещей в MongoDB, до полной травы в Cassandra

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 3)

Допустим, иерархическая. Например файловая система.

Artificial_Thought ★★★★
()

А зачем что то читать? Делайте под свою задачу как Вам нужно...

У нас напр. каждая запись в базе - это словарь, у него есть неск обязательный ключей, а остальное как получилось. Ну и набор методов для работы со всем этим...

AIv ★★★★★
()
Ответ на: комментарий от AIv

Видимо, так и придется делать. Спасибо за информацию.

feofan ★★★★★
() автор топика

какую структуру может иметь нереляционная БД, как можно организовать взаимосвязи между элементами такой БД

Ты уж давай определись - нереляционная она или взаимосвязи между элементами...

Suntechnic ★★★★★
()
Ответ на: комментарий от AIv

У нас напр. каждая запись в базе - это словарь

А нафиг тогда вам вообще БД если вы фактически пихаете туда сериализованные данные? Ну и храните в файлах. Будет хотя бы быстрее.

Suntechnic ★★★★★
()
Ответ на: комментарий от Suntechnic

Ты уж давай определись - нереляционная она или взаимосвязи между элементами...

Эх, а я надеялся...

feofan ★★★★★
() автор топика
Ответ на: комментарий от Suntechnic

Ну так мы так и храним;-) Хуже того - каждая запись это директория, в которой кроме файла с запикленными данными может лежать все что угодно.

AIv ★★★★★
()
Ответ на: комментарий от feofan

Эх, а я надеялся...

На самом деле, я думаю что реляционка начинает быть выгодной от какого-то критического уровня количества (относительного) и сложности связей. А так же необходимости и частоты таких операций как поиск и сортировка. Ну простой пример - если надо хранить пользователей и сессии, то мне кажется выгоднее нереляционная база. Ну например Redis - наличие волатильных ключей в ней делает работу с сессиями которые могут устаревать чертовски удобной. Ну и пользователей туда сунуть можно. Извлечение данных о конкретном пользователи по известном id будет удобным и быстрым. А вот если тебе приходится часто искать пользователей в базе по номеру свойствам их профилей, то тут тебя поджидает засада. И казалось бы причем тут связи...

Suntechnic ★★★★★
()
Ответ на: комментарий от Suntechnic

Спасибо за развернутый ответ.

feofan ★★★★★
() автор топика
Ответ на: комментарий от Suntechnic

Эх, обманул ты меня. Для описанного юзкейса подходят графовые базы данных.

feofan ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.