powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Структура БД: "Ключ-Значение"
25 сообщений из 25, страница 1 из 1
Структура БД: "Ключ-Значение"
    #37366248
kastolom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так много слышал, что высоконагруженные сайты, типа вконтакте да фейсбук, не юзают join-ов, а использую подход к проектированию БД, кодовое имя которого "ключ-значение". Если кто сталкивался, расскажите как это работает, можно даже на небольшом примере.
...
Рейтинг: 0 / 0
Структура БД: "Ключ-Значение"
    #37366376
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kastolom ,

Как устроены крупные соц.сети изнутри (в двух частях)

Есть целый класс специализированных СУБД (нереляционных) для этих целей, которым здесь посвящён отдельный форум
NoSQL (Key-value, document, tuple, graph, object, tablular databases)

PS: есть СУБД Caché , в которой сочетаются сразу три метода доступа к данным: прямой (NoSQL), реляционный (SQL) и объектный.
Это даёт разработчику гибкость: universalNoSQL.pdf .
Три интересных ссылки по её использованию в высоконагруженной системе (проект Gaia), которые я приводил, можно найти здесь .
...
Рейтинг: 0 / 0
Структура БД: "Ключ-Значение"
    #37366403
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хакер № 08/09 (128) Тема: "Да пошел ты, SQL! Как отказать от SQL баз данных и выиграть"
...
Рейтинг: 0 / 0
Структура БД: "Ключ-Значение"
    #37366653
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 25.07.2011 18:52, kastolom wrote:
> так много слышал, что высоконагруженные сайты, типа вконтакте да фейсбук, не
> юзают join-ов, а использую подход к проектированию БД, кодовое имя которого
> "ключ-значение". Если кто сталкивался, расскажите как это работает, можно даже
> на небольшом примере.

Если ты не в курсе, при использовании EAV JOIN-ов гораздо больше в запросах.
(за это его и не любят). При обычной реляционной модели JOIN-ов в запросах
порядка числа таблиц, при использовании EAV -- JOIN-ов порядка числа атрибутов.

В итоге я бы ни за что на месте "высоконагруженных сайтов" не использовал бы
EAV, максимум -- исползовал бы гибрид обычной модели и EAV.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Структура БД: "Ключ-Значение"
    #37366677
Mainframe_старый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
В итоге я бы ни за что на месте "высоконагруженных сайтов" не использовал бы
EAV, максимум -- исползовал бы гибрид обычной модели и EAV.



для высоконагруженных сайтов есть механизм кэширования и вот тут уже все равно, какая модель в основе, однозначно удобнее гибкая модель.
...
Рейтинг: 0 / 0
Структура БД: "Ключ-Значение"
    #37366823
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mainframe_старыйдля высоконагруженных сайтов есть механизм кэширования и вот тут уже все равно, какая модель в основе, однозначно удобнее гибкая модель. Правильно я вас понял, что для любого сайта подойдёт сколь угодно слабый сервер БД?

Точнее, вы выразились несколько иначе - чем более высоконагруженный сайт, тем слабее нужен сервер БД.
MasterZivпри использовании EAV JOIN-ов гораздо больше в запросах.
(за это его и не любят). При обычной реляционной модели JOIN-ов в запросах
порядка числа таблиц, при использовании EAV -- JOIN-ов порядка числа атрибутов.По моему, подход ключ-значение не тождественен EAV (хотя у них и есть что-то общее).
Под "значение" в случае key-value БД подразумевается не одиночный атрибут, а запись (или объект).
...
Рейтинг: 0 / 0
Структура БД: "Ключ-Значение"
    #37366888
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да при чем тут еав воще
кей-велью просто индекс
...
Рейтинг: 0 / 0
Структура БД: "Ключ-Значение"
    #37366989
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 26.07.2011 2:37, Mainframe_старый wrote:

> для высоконагруженных сайтов есть механизм кэширования и вот тут уже все равно,
> какая модель в основе, однозначно удобнее гибкая модель.

Если тупо кэшируются записи из БД, то далеко не всё равно.
Если кэш более интеллектуальный, то да.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Структура БД: "Ключ-Значение"
    #37366991
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 26.07.2011 10:32, alexeyvg wrote:

> По моему, подход ключ-значение не тождественен EAV (хотя у них и есть что-то общее).
> Под "значение" в случае key-value БД подразумевается не одиночный атрибут, а
> запись (или объект).

Тогда давай определение или ссылку на него.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Структура БД: "Ключ-Значение"
    #37366993
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 26.07.2011 11:20, ViPRos wrote:
> да при чем тут еав воще
> кей-велью просто индекс

Не, возможно я не в теме и всё перепутал. Извиняюсь тогда.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Структура БД: "Ключ-Значение"
    #37367299
Mainframe_старый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivOn 26.07.2011 2:37, Mainframe_старый wrote:

> для высоконагруженных сайтов есть механизм кэширования и вот тут уже все равно,
> какая модель в основе, однозначно удобнее гибкая модель.

Если тупо кэшируются записи из БД, то далеко не всё равно.
Если кэш более интеллектуальный, то да.


кэшируются страницы, а не записи. в таком раскладе скорость работы с БД влияет только на механизм генерации закэшированной страницы, который идет фоново и практически никак не влияет на работу с сайтом (ну чуть дольше делается раз в час/два/10 новая страница или чуть быстрее - для пользователей сайта никаким боком).
...
Рейтинг: 0 / 0
Структура БД: "Ключ-Значение"
    #37367307
Mainframe_старый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgТочнее, вы выразились несколько иначе - чем более высоконагруженный сайт, тем слабее нужен сервер БД.


это вы так выразились, а не я. я выразилась, что скорость работы с базой данных может никак не влиять на работу с сайтом пользователей. А , если производительность не ухудшается, то вопрос гибкости приобретает значимость, равную 1.
...
Рейтинг: 0 / 0
Структура БД: "Ключ-Значение"
    #37367683
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mainframe_старыйэто вы так выразились, а не я. я выразилась, что скорость работы с базой данных может никак не влиять на работу с сайтом пользователей.А, ну с такой формулировкой я согласен. На практике, однако, (и в известных существующих проектах "высоконагруженных сайтов") на субд ложится большая нагрузка, и ни один из них не строится по модели EAV (про крайней мере, мне такие неизвестны, поделитесь, если знаете).

И даже теоретически на СУБД не может быть маленькой нагрузки, если есть много операций записи. Просто в EAV количество операций записи будет больше, тут ничего не поделать.

Mainframe_старыйвопрос гибкости приобретает значимость, равную 1.Не вижу каких то преимуществ по гибкости у EAV.

Во всех случаях нужно проектировать модель данных по бизнес модели. Только для EAV используется один синтаксис определения сущностей, атрибутов, констрейнов, и прочего, для SQL другой. Только и всего.
...
Рейтинг: 0 / 0
Структура БД: "Ключ-Значение"
    #37367804
Mainframe_старый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg На практике, однако, (и в известных существующих проектах "высоконагруженных сайтов") на субд ложится большая нагрузка, и ни один из них не строится по модели EAV (про крайней мере, мне такие неизвестны, поделитесь, если знаете).



известные не знаю, наша собственная cms строится поверх нашей суэд, которая строится поверх нашей системы управления понятиями , которая основана на описании понятий и отношений и ограничений и физически все это на варианте eav.
сайты работают с обычной для статических сайтов скоростью. число записей в eav несколько миллионов.
...
Рейтинг: 0 / 0
Структура БД: "Ключ-Значение"
    #37367922
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mainframe_старыйизвестные не знаю, наша собственная cms строится поверх нашей суэд, которая строится поверх нашей системы управления понятиями , которая основана на описании понятий и отношений и ограничений и физически все это на варианте eav.
сайты работают с обычной для статических сайтов скоростью. число записей в eav несколько миллионов.Число новых записей в eav несколько миллионов за какое время, не понял? Или всего?
Если всего, то и в екселе можно хранить, при наличии кеширования.

ТС писал про:
kastolomтак много слышал, что высоконагруженные сайты, типа вконтакте да фейсбук , не юзают join-овДля таких не подойдёт.

У меня на предыдущей работе в базе для сайта было несколько сотен млн записей, и новых тысячи в секунду. С EAV моделью пришлось бы сильно увеличить количество серверов :-(
...
Рейтинг: 0 / 0
Структура БД: "Ключ-Значение"
    #37367926
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mainframe_старыйстроится поверх нашей системы управления понятиями , которая основана на описании понятий и отношений и ограничений и физически все это на варианте eavИ я всё таки не понимаю, чем собственная система "описании понятий и отношений и ограничений" лучьше, чем прелдлагаемая производителем СУБД. Её освоить проще, программировать быстрее, там более удобный язык?
...
Рейтинг: 0 / 0
Структура БД: "Ключ-Значение"
    #37368059
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot alexeyvg]Mainframe_старый чем собственная система "описании понятий и отношений и ограничений" лучьше, чем прелдлагаемая производителем СУБД. Её освоить проще, программировать быстрее, там более удобный язык?
собственная богаче
просто надо ее не на еав маппить, а на обычную реляционку
...
Рейтинг: 0 / 0
Структура БД: "Ключ-Значение"
    #37368096
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosсобственная богачеХорошо, если так :-)
...
Рейтинг: 0 / 0
Структура БД: "Ключ-Значение"
    #37368247
Mainframe_старый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgЕсли всего, то и в екселе можно хранить, при наличии кеширования.


я вам сразу сказала, что модель базы для производительности сайтов значения не имеет. можете и на экселе, ежели вам с ним удобнее. нам удобнее eav на реляционной основе.
...
Рейтинг: 0 / 0
Структура БД: "Ключ-Значение"
    #37368652
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mainframe_старыйя вам сразу сказала, что модель базы для производительности сайтов значения не имеет. можете и на экселе, ежели вам с ним удобнее. нам удобнее eav на реляционной основе.А я сразу сказал, что имеет. Вместо 10 серверов потребуется сотня.
А на екселе несколько тысяч.

Я же тоже про свой опыт говорю.

Просто у вас сайты не нагруженные.
...
Рейтинг: 0 / 0
Структура БД: "Ключ-Значение"
    #37368833
Mainframe_старый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg
Просто у вас сайты не нагруженные.

видимо, вы просто не умеете их готовить. в статических сайтах БД не имеет значения. она важна только там, где нет кэширования страниц или в вопросах формирования контента вручную.
...
Рейтинг: 0 / 0
Структура БД: "Ключ-Значение"
    #37368881
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mainframe_старыйalexeyvgПросто у вас сайты не нагруженные.

видимо, вы просто не умеете их готовить. в статических сайтах БД не имеет значения. она важна только там, где нет кэширования страниц или в вопросах формирования контента вручную. Ну речь то не о статических сайтах.

Пользователи заводят контент, его же нельхзя всё время держать в кеше и не сохранять.

Само собой, подразумевается, что вся статическая инфа закеширована.
...
Рейтинг: 0 / 0
Структура БД: "Ключ-Значение"
    #37369018
Mainframe_старый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgПользователи заводят контент, его же нельхзя всё время держать в кеше и не сохранять.

Само собой, подразумевается, что вся статическая инфа закеширована.

Сайт может вообще не иметь статической информации, но при этом весь быть закэшированным. у нас вообще нет статики, все абсолютно из базы данных - ничего в файлах, тем не менее весь сайт статический. периоды формирования статических страниц разные.
...
Рейтинг: 0 / 0
Структура БД: "Ключ-Значение"
    #37369577
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Одно из двух:Mainframe_старыйу нас вообще нет статикиMainframe_старыйтем не менее весь сайт статический
:-)
Mainframe_старыйСайт может вообще не иметь статической информации, но при этом весь быть закэшированным.Ну при чём тут это?

Странно, что вы спорите с простым тезисом:
Если пользователь вводит информацию, то её нужно сохранить.

Ну и второй тезис тоже несложен:
Много сохранений - большая нагрузка на СУБД.
...
Рейтинг: 0 / 0
Структура БД: "Ключ-Значение"
    #37373206
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kastolomтак много слышал, что высоконагруженные сайты, типа вконтакте да фейсбук, не юзают join-ов, а использую подход к проектированию БД, кодовое имя которого "ключ-значение". Если кто сталкивался, расскажите как это работает, можно даже на небольшом примере.Статья на эту тему: Реляционные базы данных обречены?
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Структура БД: "Ключ-Значение"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]