|
|
|
Структура БД: "Ключ-Значение"
|
|||
|---|---|---|---|
|
#18+
так много слышал, что высоконагруженные сайты, типа вконтакте да фейсбук, не юзают join-ов, а использую подход к проектированию БД, кодовое имя которого "ключ-значение". Если кто сталкивался, расскажите как это работает, можно даже на небольшом примере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2011, 17:52 |
|
||
|
Структура БД: "Ключ-Значение"
|
|||
|---|---|---|---|
|
#18+
kastolom , Как устроены крупные соц.сети изнутри (в двух частях) Есть целый класс специализированных СУБД (нереляционных) для этих целей, которым здесь посвящён отдельный форум NoSQL (Key-value, document, tuple, graph, object, tablular databases) PS: есть СУБД Caché , в которой сочетаются сразу три метода доступа к данным: прямой (NoSQL), реляционный (SQL) и объектный. Это даёт разработчику гибкость: universalNoSQL.pdf . Три интересных ссылки по её использованию в высоконагруженной системе (проект Gaia), которые я приводил, можно найти здесь . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2011, 18:57 |
|
||
|
Структура БД: "Ключ-Значение"
|
|||
|---|---|---|---|
|
#18+
Хакер № 08/09 (128) Тема: "Да пошел ты, SQL! Как отказать от SQL баз данных и выиграть" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2011, 19:18 |
|
||
|
Структура БД: "Ключ-Значение"
|
|||
|---|---|---|---|
|
#18+
On 25.07.2011 18:52, kastolom wrote: > так много слышал, что высоконагруженные сайты, типа вконтакте да фейсбук, не > юзают join-ов, а использую подход к проектированию БД, кодовое имя которого > "ключ-значение". Если кто сталкивался, расскажите как это работает, можно даже > на небольшом примере. Если ты не в курсе, при использовании EAV JOIN-ов гораздо больше в запросах. (за это его и не любят). При обычной реляционной модели JOIN-ов в запросах порядка числа таблиц, при использовании EAV -- JOIN-ов порядка числа атрибутов. В итоге я бы ни за что на месте "высоконагруженных сайтов" не использовал бы EAV, максимум -- исползовал бы гибрид обычной модели и EAV. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2011, 00:27 |
|
||
|
Структура БД: "Ключ-Значение"
|
|||
|---|---|---|---|
|
#18+
MasterZiv В итоге я бы ни за что на месте "высоконагруженных сайтов" не использовал бы EAV, максимум -- исползовал бы гибрид обычной модели и EAV. для высоконагруженных сайтов есть механизм кэширования и вот тут уже все равно, какая модель в основе, однозначно удобнее гибкая модель. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2011, 01:37 |
|
||
|
Структура БД: "Ключ-Значение"
|
|||
|---|---|---|---|
|
#18+
Mainframe_старыйдля высоконагруженных сайтов есть механизм кэширования и вот тут уже все равно, какая модель в основе, однозначно удобнее гибкая модель. Правильно я вас понял, что для любого сайта подойдёт сколь угодно слабый сервер БД? Точнее, вы выразились несколько иначе - чем более высоконагруженный сайт, тем слабее нужен сервер БД. MasterZivпри использовании EAV JOIN-ов гораздо больше в запросах. (за это его и не любят). При обычной реляционной модели JOIN-ов в запросах порядка числа таблиц, при использовании EAV -- JOIN-ов порядка числа атрибутов.По моему, подход ключ-значение не тождественен EAV (хотя у них и есть что-то общее). Под "значение" в случае key-value БД подразумевается не одиночный атрибут, а запись (или объект). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2011, 09:32 |
|
||
|
Структура БД: "Ключ-Значение"
|
|||
|---|---|---|---|
|
#18+
да при чем тут еав воще кей-велью просто индекс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2011, 10:20 |
|
||
|
Структура БД: "Ключ-Значение"
|
|||
|---|---|---|---|
|
#18+
On 26.07.2011 2:37, Mainframe_старый wrote: > для высоконагруженных сайтов есть механизм кэширования и вот тут уже все равно, > какая модель в основе, однозначно удобнее гибкая модель. Если тупо кэшируются записи из БД, то далеко не всё равно. Если кэш более интеллектуальный, то да. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2011, 11:20 |
|
||
|
Структура БД: "Ключ-Значение"
|
|||
|---|---|---|---|
|
#18+
On 26.07.2011 10:32, alexeyvg wrote: > По моему, подход ключ-значение не тождественен EAV (хотя у них и есть что-то общее). > Под "значение" в случае key-value БД подразумевается не одиночный атрибут, а > запись (или объект). Тогда давай определение или ссылку на него. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2011, 11:20 |
|
||
|
Структура БД: "Ключ-Значение"
|
|||
|---|---|---|---|
|
#18+
On 26.07.2011 11:20, ViPRos wrote: > да при чем тут еав воще > кей-велью просто индекс Не, возможно я не в теме и всё перепутал. Извиняюсь тогда. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2011, 11:21 |
|
||
|
Структура БД: "Ключ-Значение"
|
|||
|---|---|---|---|
|
#18+
MasterZivOn 26.07.2011 2:37, Mainframe_старый wrote: > для высоконагруженных сайтов есть механизм кэширования и вот тут уже все равно, > какая модель в основе, однозначно удобнее гибкая модель. Если тупо кэшируются записи из БД, то далеко не всё равно. Если кэш более интеллектуальный, то да. кэшируются страницы, а не записи. в таком раскладе скорость работы с БД влияет только на механизм генерации закэшированной страницы, который идет фоново и практически никак не влияет на работу с сайтом (ну чуть дольше делается раз в час/два/10 новая страница или чуть быстрее - для пользователей сайта никаким боком). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2011, 13:48 |
|
||
|
Структура БД: "Ключ-Значение"
|
|||
|---|---|---|---|
|
#18+
alexeyvgТочнее, вы выразились несколько иначе - чем более высоконагруженный сайт, тем слабее нужен сервер БД. это вы так выразились, а не я. я выразилась, что скорость работы с базой данных может никак не влиять на работу с сайтом пользователей. А , если производительность не ухудшается, то вопрос гибкости приобретает значимость, равную 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2011, 13:52 |
|
||
|
Структура БД: "Ключ-Значение"
|
|||
|---|---|---|---|
|
#18+
Mainframe_старыйэто вы так выразились, а не я. я выразилась, что скорость работы с базой данных может никак не влиять на работу с сайтом пользователей.А, ну с такой формулировкой я согласен. На практике, однако, (и в известных существующих проектах "высоконагруженных сайтов") на субд ложится большая нагрузка, и ни один из них не строится по модели EAV (про крайней мере, мне такие неизвестны, поделитесь, если знаете). И даже теоретически на СУБД не может быть маленькой нагрузки, если есть много операций записи. Просто в EAV количество операций записи будет больше, тут ничего не поделать. Mainframe_старыйвопрос гибкости приобретает значимость, равную 1.Не вижу каких то преимуществ по гибкости у EAV. Во всех случаях нужно проектировать модель данных по бизнес модели. Только для EAV используется один синтаксис определения сущностей, атрибутов, констрейнов, и прочего, для SQL другой. Только и всего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2011, 16:27 |
|
||
|
Структура БД: "Ключ-Значение"
|
|||
|---|---|---|---|
|
#18+
alexeyvg На практике, однако, (и в известных существующих проектах "высоконагруженных сайтов") на субд ложится большая нагрузка, и ни один из них не строится по модели EAV (про крайней мере, мне такие неизвестны, поделитесь, если знаете). известные не знаю, наша собственная cms строится поверх нашей суэд, которая строится поверх нашей системы управления понятиями , которая основана на описании понятий и отношений и ограничений и физически все это на варианте eav. сайты работают с обычной для статических сайтов скоростью. число записей в eav несколько миллионов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2011, 17:04 |
|
||
|
Структура БД: "Ключ-Значение"
|
|||
|---|---|---|---|
|
#18+
Mainframe_старыйизвестные не знаю, наша собственная cms строится поверх нашей суэд, которая строится поверх нашей системы управления понятиями , которая основана на описании понятий и отношений и ограничений и физически все это на варианте eav. сайты работают с обычной для статических сайтов скоростью. число записей в eav несколько миллионов.Число новых записей в eav несколько миллионов за какое время, не понял? Или всего? Если всего, то и в екселе можно хранить, при наличии кеширования. ТС писал про: kastolomтак много слышал, что высоконагруженные сайты, типа вконтакте да фейсбук , не юзают join-овДля таких не подойдёт. У меня на предыдущей работе в базе для сайта было несколько сотен млн записей, и новых тысячи в секунду. С EAV моделью пришлось бы сильно увеличить количество серверов :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2011, 17:56 |
|
||
|
Структура БД: "Ключ-Значение"
|
|||
|---|---|---|---|
|
#18+
Mainframe_старыйстроится поверх нашей системы управления понятиями , которая основана на описании понятий и отношений и ограничений и физически все это на варианте eavИ я всё таки не понимаю, чем собственная система "описании понятий и отношений и ограничений" лучьше, чем прелдлагаемая производителем СУБД. Её освоить проще, программировать быстрее, там более удобный язык? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2011, 17:58 |
|
||
|
Структура БД: "Ключ-Значение"
|
|||
|---|---|---|---|
|
#18+
[quot alexeyvg]Mainframe_старый чем собственная система "описании понятий и отношений и ограничений" лучьше, чем прелдлагаемая производителем СУБД. Её освоить проще, программировать быстрее, там более удобный язык? собственная богаче просто надо ее не на еав маппить, а на обычную реляционку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2011, 19:50 |
|
||
|
Структура БД: "Ключ-Значение"
|
|||
|---|---|---|---|
|
#18+
ViPRosсобственная богачеХорошо, если так :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2011, 20:40 |
|
||
|
Структура БД: "Ключ-Значение"
|
|||
|---|---|---|---|
|
#18+
alexeyvgЕсли всего, то и в екселе можно хранить, при наличии кеширования. я вам сразу сказала, что модель базы для производительности сайтов значения не имеет. можете и на экселе, ежели вам с ним удобнее. нам удобнее eav на реляционной основе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2011, 00:52 |
|
||
|
Структура БД: "Ключ-Значение"
|
|||
|---|---|---|---|
|
#18+
Mainframe_старыйя вам сразу сказала, что модель базы для производительности сайтов значения не имеет. можете и на экселе, ежели вам с ним удобнее. нам удобнее eav на реляционной основе.А я сразу сказал, что имеет. Вместо 10 серверов потребуется сотня. А на екселе несколько тысяч. Я же тоже про свой опыт говорю. Просто у вас сайты не нагруженные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2011, 12:13 |
|
||
|
Структура БД: "Ключ-Значение"
|
|||
|---|---|---|---|
|
#18+
alexeyvg Просто у вас сайты не нагруженные. видимо, вы просто не умеете их готовить. в статических сайтах БД не имеет значения. она важна только там, где нет кэширования страниц или в вопросах формирования контента вручную. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2011, 13:38 |
|
||
|
Структура БД: "Ключ-Значение"
|
|||
|---|---|---|---|
|
#18+
Mainframe_старыйalexeyvgПросто у вас сайты не нагруженные. видимо, вы просто не умеете их готовить. в статических сайтах БД не имеет значения. она важна только там, где нет кэширования страниц или в вопросах формирования контента вручную. Ну речь то не о статических сайтах. Пользователи заводят контент, его же нельхзя всё время держать в кеше и не сохранять. Само собой, подразумевается, что вся статическая инфа закеширована. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2011, 14:02 |
|
||
|
Структура БД: "Ключ-Значение"
|
|||
|---|---|---|---|
|
#18+
alexeyvgПользователи заводят контент, его же нельхзя всё время держать в кеше и не сохранять. Само собой, подразумевается, что вся статическая инфа закеширована. Сайт может вообще не иметь статической информации, но при этом весь быть закэшированным. у нас вообще нет статики, все абсолютно из базы данных - ничего в файлах, тем не менее весь сайт статический. периоды формирования статических страниц разные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2011, 15:02 |
|
||
|
Структура БД: "Ключ-Значение"
|
|||
|---|---|---|---|
|
#18+
Одно из двух:Mainframe_старыйу нас вообще нет статикиMainframe_старыйтем не менее весь сайт статический :-) Mainframe_старыйСайт может вообще не иметь статической информации, но при этом весь быть закэшированным.Ну при чём тут это? Странно, что вы спорите с простым тезисом: Если пользователь вводит информацию, то её нужно сохранить. Ну и второй тезис тоже несложен: Много сохранений - большая нагрузка на СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2011, 18:36 |
|
||
|
Структура БД: "Ключ-Значение"
|
|||
|---|---|---|---|
|
#18+
kastolomтак много слышал, что высоконагруженные сайты, типа вконтакте да фейсбук, не юзают join-ов, а использую подход к проектированию БД, кодовое имя которого "ключ-значение". Если кто сталкивался, расскажите как это работает, можно даже на небольшом примере.Статья на эту тему: Реляционные базы данных обречены? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2011, 16:14 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=37366376&tid=1542075]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
141ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 430ms |

| 0 / 0 |
