Приветствую Вас, Гость! Регистрация RSS

Команда фрилансеров

Суббота, 04.05.2024
Главная » 2015 » Сентябрь » 11 » Базы данных: что дальше?
07:44
Базы данных: что дальше?
Какими будут системы баз данных в будущем? В нашем мире многое, если не все, развивается по спирали. Процессы или явления периодически приобретают формы, сходные с теми, которые они имели когда-то в прошлом, но внутреннее наполнение качественно иное. Системы баз данных начинались с сетеввых и иерархических моделей, которые, как считалось, отражали структуру связей между элементами предметной области. Однако эти системы обладали качественными недостатками, преодоление которых виделось в иных принципах построения СУБД. Э.Кодд предложил предложил реляционную модель, идея которой состояла в том, что рассматривались простые, в некотором смысле, "плоские" по своей структуре сущности, а также связи между ними. Предложенная теория, однако, не охватывала семантику этих связей. Позднейшие работы, в которых предпринималась попытка преодолеть эту проблему, были восприняты лишь отчасти.Существование реляционных СУБД начиналось с таких прототипов, как System R. Это была система, реализующая основную часть реляционной модели, хотя и с отклонениями, и предлагавшая пользователю "Реляционный интерфейс данных" (Relational Data Interface, RDI) -- выскоуровневые, независимые от данных (data-independent) средства для извлечения (retieval), определения (definition), манипулирования (manipulation) и контроля (control) данных. Предоставляемый системой язык взаимодействия с ней (покрывающий все четыре перечисленных аспекта) во многом напоминает современный SQL. Как часть средств контроля данных, система предоставляла возможность управления транзакциями (в виде, несколько отличном от принятого ныне), а также триггеры, позволявшие исполнять произвольные Sequel-выражения при возникновении определенных событий -- например, таких как вставка/удаление/изменение записей в определенной таблице. Существенным следует считать то, что СУБД предоставляла средства взаимодействия с ней из других программ (интероперабельнсть).СУБД позволяли хранить данные и управлять ими, но все алгоритмы их обработки выносились за пределы СУБД во внешнее программное обеспечение. Это вызывало целый ряд трудностей, и к концу 80-х - началу 90-х гг. возникла концепция активных систем баз данных. По сути, это означало применение принципа инкапсуляции к базам данных, когда данные и алгоритмы их обработки в виде хранимых процедур и функций стали хранится вместе -- во всяком случае, СУБД взяли на себя обязанности хранения, управления и исполнения хранимых процедур и функций. С точки зрения пользователя, однако, существовала (и по-прежнему существует) пропасть между программами и данными -- интерфейсы взаимодействия с ними совершенно различны. До некоторой степени этот разрыв преодолевается за счет возможности передачи на испонение произвольной строки, так что элементы программного кода можно хранить в виде строковых значений в таблицах.Идея применить принципы объектно-ориентированного программирования к базам данных выглядит исключительно привлекательно, и предпринимались определенные попытки ее реализации, из которых, по-видимому, наиболее успешной стоит признать СУБД Cahce. Но, как кажется, полного успеха в решении данной задачи не достигнуто и по сей день. Желание использовать в качестве объектов хранения более сложные сущности, чем "плоские" отношения, привело к возникновению целого класса систем -- документно-ориентированных СУБД.Очередной виток эволюции начался сравнительно недавно, когда в практике программирования стали говорить о разделении statefull и stateless-объектов, т.е., соответственно, объектов хранящий состояние, и объектов, его не хранящих. До некоторой степени, будет корректной аналогия, что в предметной области выделяются сущности (хранящие состояние объекты с характеристическим набором атрибутов) и процессы (объекты, не хранящие состояния). Это не означает, что в statefull объектах нет методов, а в stateless - свойств; речь о концептуальном различии. В области баз данных эта тенденция отразилась в том, что в самих базах данных стали хранить лишь достаточно низкоуровневые алгоритмы, связанные с извлечением или модификацией данных. Алгоритмы уровня предметной области почти всегда выносятся на уровень использующего приложения.Еще один крупный виток эволюции заключается в том, что вновь приобрели актуальность сетевые и иерархические модели -- однако не на уровне СУБД, а на уровне клиентских приложений. Действительно, анализируя структуры данных уровня предметной обалсти, можно заметить, что зачастую возникает сеть, в которой есть как ISA-дуги, так и различные ассоциации. Реализация многих алгоритмов основана на навигации по этой сети. Существенно то, что число компонент связности такой сети, даже в крупных системах, оказывается зачастую в пределах нескольких единиц, или даже равно строго единице. Поскольку редкий пользователь работает с сетью, состоящей из многих десятков и сотен узлов-сущностей, сеть подвергается расчленению (на уровне клиентского приложения, но не базы данных). Это расчленение соответствует выделению фрагментов предметной области, с которыми работают пользоветели определенных категорий.Интенсивное проникновение отдельных концепций функционального программирования в т.н. main-stream языки позволяет предполагать, что 1) функциональные языки в скором времени станут main stream, особенно как только возникнут более развитые поддерживающие средства; 2) принципы функциональных языков если и не лягут в основу будущих систем баз данных, то, несомненно, будут использоваться в соответствующих RDI. Интенсивность исследований в направлении предметно-ориентированных средств и систем говорит о потребности в развитых средствах типизации объектов данных. Развитие средств интероперабельности между СУБД и клиентскими приложениями, например, LINQ, свидетельствует об интенсивности процессов информационного обмена, и в дальнейшем эта интенсивность будет только расти. Назревающая революция в области принципов осуществления компьютинга предоставит качественно новые средства решения известных проблем -- и, вероятно, поставит новые.
Просмотров: 496 | Добавил: admin | Рейтинг: 0.0/0
Всего комментариев: 0
avatar