Практическая реализация идеальной БД

Что же вы совсем языки пооткусывали, господа?

Идеальную СУБД рассматриваю отнюдь не как тему для трепа, а как прообраз... нет, не СУБД, конечно, но реального, работоспособного макета такой СУБД. И я хочу создать такой макет, насколько это в моих силах. К сожалению, никакой помощи со стороны всезнающего All я до сих пор так и не получил - в лучшем случае, были слабые намеки на возможность конструктивного разговора. Зашел я со стороны ядра - пофлудили, замолчали. Зашел со стороны клиента - пофлудили, замолчали. Зайдем с третьей стороны - со стороны ДАННЫХ.

Как я уже говорил, меня интересуют не реляционные погремушки, а СЛОЖНО организованные данные - реальные данные из жизни, а не кастрированной "нормальности". Примеров таких данных может быть множество - скажем, каталог DMOZ, или Википедия, но лучший набор для тестирования макета, на мой взгляд - так называемая OpenStreetMap, которая лежит на downloads.cloudmade.com. Мотивирую:

1. Данные открыты, доступ свободный, версия вроде как стабильная - Last maps update: 26 August 2011 - ее я и скачал на днях к себе, как прообраз будущей идеальной БД.
2. Данные формально слабоструктурированные, представлены в виде XML (хотя он там зовется OSM), однако по характеру своему структурированность их (потенциальная) чрезвычайно высока.
3. Объем данных достаточно серьезный (по моим оценкам, около миллиарда объектов), так что ни о какой ручной подгонке результатов под ответ не может быть и речи. Мало того, все умозрительные построения доморощенных теоретиков здесь рассыпаются в пыль, из-за многочисленных, и часто весьма неожиданных нюансов. Добро пожаловать в Реальность, господа!
4. На логическом уровне там представлена не база, а именно свалка данных, что доказывает фактическое использование так называемой EAV-модели, представленной с помощью тега с замечательным названием "tag", разборка которого даже на уровне метаданных повергает в ужас даже видавшего виды меня, любимого. :) Тем не менее, ее можно считать и базой, поскольку имеется мощнейшая привязка (пространственная), которая очень неплохо выполняет структурирующую роль.
5. Там имеется гигантское количество ошибок в данных - по моим оценкам, десятки миллионов. При этом выявить их не так-то просто: данные, хоть и текстовые, но мультиязычные - по моим оценкам, на 40-50 языках.
6. Там имеется гигантское количество дублей - по моим оценкам, намного больше, чем ошибок. Кроме того, там невероятное количество просто мусора - по моим оценкам, 70-90%, если не больше.
7. Несмотря на все вышеперечисленное, в этой базе сосредоточено огромное количество весьма интересной информации - именно потому, что используется "свалочная" EAV-модель, позволяющая эту информацию хотя бы сохранить. Причем о весьма значительной части этой информации наверняка не подозревают даже создатели БД.

Аргументацию можно продолжать, но вряд ли это нужно. Еще раз приглашаю к разговору а) программистов-системщиков (для обсуждения концепций ядра СУБД), б) программистов-прикладников (для обсуждения концепций ПО клиента, т.е. браузера), в) просто пользователей (для обсуждения концепций построения интерфейса), г) специалистов в области баз данных (для обсуждения концепций и базы метаданных)... и все, пожалуй. Разумеется, приглашаю не только в эту ветку, но и во все три моих - это взгляд на одно и то же, но с разных сторон.

Forums: