Pull to refresh

Comments 18

Делится нечем — разрабатывали с чистого листа. Там логика действительно несложная. Реализации есть на Delphi и С++.
А что сделает ваша БД, если DAT не влезет в память?
До определенного размера DAT отображается в память целиком. Свыше — начинает работать алгоритм сегментации, и DAT отображается в память относительно небольшими блоками.

Кажется вы «изобрели» обычную бд с mvcc. Чем эта штука лучше postgres?

Она не лучше, и не хуже — она другая, сделана под нетрадиционную модель данных. Средствами обычных СУБД эту модель реализовать не удалось.

Чем конкретно предложенная модель лучше бд? Какие особенности бд мешают эффективно реализовать вашу модель?

Мир баз данных широк и многообразен. Но если мы говорим о реляционных базах, то есть два основных момента: а) асимметричный способ реализации связи таблиц первичным и вторичными ключами. Если использовать симметричную форму связи (прямая-обратная ссылка), то автоматически соблюдается ссылочная целостность, а вместо Select можно использовать естественную навигацию. б) отцы-основатели заложили в модель данных связь таблиц, но почему-то не сделали того же самого для колонок таблиц. В двухуровневую модель Таблица — Колонки таблицы, нужно добавить третий уровень.
Прошу прощения, но я все еще не вижу что нового ваш подход приносит в мир. Не могли бы вы описать его примерно в таких терминах или указать на релевантные части статьи:
— есть модель данных, характеризуется так-то и такие-то типичные запросы, варианты обновления данных
— есть реляционные или иные БД, которые с этим не справляются потому что неправильные индексы, не тот MVCC, не тот оптимизатор и т.п.
— вот наша модель, она хорошо справляется, потому что — тут ваша инновация.
В данной статье рассматриваются только принципы и методы хранения и управления объектами данных, без какой либо интерпретации содержимого объектов. Эти методы образуют основу для последующей реализации объектной модели управления данными, и интерфейса к ней. Объектная модель данных будет подробно разобрана в последующих статьях, которые (я надеюсь) и дадут ответы на поставленные вами вопросы.
Я не очень понял, что из себя представляет объект.

Изначально об объекте известно только то, что он сериализован, в целях долговременного хранения на диске, и состоит из двух частей: заголовка и собственно содержимого.

Где хранятся связи между объектами и где храниться перечень метаописаний, атрибутов объекта?
Объект — это структура, в которой хранятся данные в виде набора значений. Значением может быть в том числе и ссылка на другой объект, в виде дескриптора IDO целевого объекта. Объект — это экземпляр класса данных, значение — экземпляр атрибута класса. Класс со своими атрибутами — структура данных, которую также можно хранить в объекте. Но об этом надо рассказывать отдельно, а пока же рассматриваются только сервис+хранилище.
Будем ждать. Если возможно напишите пример. Есть 10 сущностей, я так понимаю это обекты. Они Имеют разное количество атрибутов. И они между собой связаны по разному и один объект может входить в разные связи.
Опиши те как описать эту модель, с учетом возможности изменения количества атрибутов у объектов и связей между объектами, с учётом что данные уже в базу внесены. И при этом скорость работы с базой при увеличении записей геометрически не замедлялось.
Сущность описывается классом (структурным типом), который содержит набор атрибутов, описывающих характеристики сущности. Конкретный физический индивид — принадлежащий данному структурному типу на правах его экземпляра — описывается объектом класса. В то же время сам класс — он тоже экземпляр, только структурного типа более высокого уровня абстракции — мета-класса. И как экземпляр, класс тоже можно хранить в объекте.

Немного терпения. Примеры, поясняющие как это все используется, обязательно будут после праздников.
В дополнение: или у вас под объектом считается файл? Т.е. У вас хранилище файлов, не формализованных?
По тексту статьи объект никак не ассоциирован с файлом.

Спасибо за обстоятельную публикацию на интересную тему!
Интересует список литературы и других источников по теме, которые вам помогли.

С удовольствием бы поделился, но на тот момент поиск более-менее релевантного ничего не дал. Пришлось обойтись своими силами. Собственно говоря, текст статьи напрямую отражает ту логику рассуждений, которой следовали при разработке.
Sign up to leave a comment.

Articles