MediaWiki Schema
Sep. 21st, 2011 03:16 amВот почему, почему, почему я не поинтересовался, как устроена база данных википедии год назад? Она вот так устроена:
Мне сейчас часовое вдумчивое изучение этой схемы заменило минимум полгода чтения всяких умных наборов букв по сопредельным хранению данных дисциплинам.
Полнотекстовый поиск в Вики кста сделан также, как у меня на bizwood.ru, а я то сомневался, правильно ли я сообразил. Ещё и несколько альтернатив рассматривал.
Такие дела. Век живи, два – учись.

no subject
Date: 2011-09-21 06:07 am (UTC)С одной стороны, система, организованная как одна реляционная база, позволяет быстро узнать много об entities & attributes - детали, которые из системы другого типа можно очень долго выковыривать, и без них плохо ориентироваться. Действительно, посидел час и узнал много деталей.
С другой стороны, на этой диаграмке практичеки нет юс-кейсов и ролей, и нету возможности компонентизации. Архитектура компонент и логический поток данных между компонентами тесно переплетается с централизованной схемой базы, и возникают сложности для понимания. Система растёт, и, вместе со сложностью понимания, растёт стоимость получения высокой стабильности и скорости.
Т.е. хочется оценить с точки зрения "дисциплины мышления" - полезно ли работать с подобными диаграммами или неполезно, и у меня возникает внутренний конфликт по этому поводу. Наверное, в целом, склоняюсь, что неполезно, но за неимением хороших альтернатив, наверное, нельзя ругать этот подход :)
no subject
Date: 2011-09-21 10:49 am (UTC)-- устраивать систему хранения с версиями в одной таблице
-- индексировать при этом только последнюю версию
-- хранить заранее неизвестную разметку (у меня хранится json одним куском, в вики -- wiki-разметка тоже куском) без нормализации
-- и тд тп
То-есть я уже после этих размышлений был готов смотреть на эту схему, в ней очень многое для меня понятно, потому что я сам до этого додумался. А вот много до чего не додумался.
Так что именно в таком случае я очень жалею, что она мне раньше не попалась -- кучу времени сэкономил бы. Да и ошибок некоторых не сделал бы.