Схемо-независимые базы данных
Схемо-независимые базы данных (англ. schema-agnostic databases, базы данных, не зависящие от словаря, англ. vocabulary-independent databases) — это базы данных, которые позволяют пользователям абстрагироваться от представления данных, поддерживая автоматическое семантическое сопоставление между запросами и базами данных. Схемо-независимость — это свойство базы данных, заключающееся в сопоставлении запроса, сформулированного с использованием терминологии и структуры пользователя, с автоматической трансляцией этого запроса на внутренний словарь данных.
Рост объёма и семантическая неоднородность схем баз данных порождают новые требования для пользователей, осуществляющих поиск и запросы к структурированным данным. В таких масштабах становится сложно для потребителей данных быть знакомыми с их структурой с целью формирования запросов. В центре данной проблемы находится семантический разрыв между пользователями и базами данных, который становится всё более актуальным по мере увеличения объёмов и сложности данных[1].
Описание
Развитие среды хранения и обработки данных в сторону объединения множества источников информации и рост размера, сложности, динамичности и децентрализации схем данных (SCoDD, англ. Schema size, Complexity, Dynamicity, Decentralisation)[1][2][3] увеличивают сложность современной организации данных. Тенденция SCoDD становится одной из ключевых проблем управления данными в сценариях больших данных, где пользователи и приложения требуют более полного охвата информации, создаваемой независимыми источниками, с различными семантическими предпосылками и контекстами применения, что характерно для приложений семантической паутины.
Эволюция баз данных в сторону гетерогенных сред существенно влияет на удобство использования, семиотику и семантические предположения, лежащие в основе существующих методов доступа к данным, таких как структурированные запросы, поиск по ключевым словам и визуальные языки запросов. В бесcхемных базах данных, содержащих потенциально миллионы динамически изменяющихся атрибутов, становится невозможным требовать от пользователей знания структуры или словаря данных для построения запросов. На этом уровне затраты на понимание схемы с целью написания структурированного запроса могут быть чрезмерно высокими.
Схемо-независимые запросы
Схемо-независимые запросы можно определить как методы запроса к структурированным базам данных, которые позволяют получателю удовлетворять сложные информационные потребности без необходимости разбираться в структуре (схеме) базы данных. Аналогично, Чан и др.[4] определяют это как «методы поиска, не требующие от пользователей знания схемы лежащих в основе данных». Подходы, такие как поиск по ключевым словам по базам данных, позволяют пользователям выполнять запросы без использования формальных языков запросов. Однако, как отмечают Тран и др.: «В подобных случаях пользователи должны осуществлять дополнительную навигацию и исследование для получения сложных результатов. В отличие от поиска по ключевым словам в Web, ориентированного на простые задачи, здесь поиск применяется для получения более сложных результатов. Целью становится получение сложных наборов ресурсов и их связей, а не одного множества ресурсов».
Разработка методов поддержки интерфейсов на естественном языке (NLI) для работы с базами данных направлена на достижение схемо-независимых запросов. Дополнительно, существуют методы, основанные на поиске по ключевым словам, которые позволяют формулировать сложные запросы. Другие способы сосредоточены на построении структурированных запросов при ослабленных ограничениях на схему. Все эти методы (естественно-языковые, ключевые слова, структурированные запросы) позволяют реализовать различные степени гибкого семантического сопоставления между запросами и данными — от полного отсутствия учёта семантики до использования принципиальных формальных моделей. Хотя потребность в схемо-независимости давно является неявным требованием в системах семантического поиска и естественно-языковых запросах к структурированным данным, этот термин не был явно выделен как концепция и как обязательное условие для современных систем управления базами данных. В последнее время начали появляться исследования, формализующие семантические аспекты схемо-независимых запросов[1][5][6].
Это схемо-независимые запросы, использующие синтаксис определённого языка запросов (например, SQL, SPARQL). Сохраняется синтаксис и семантика операторов, однако терминология может различаться.
SELECT ?y {
BillClinton hasDaughter ?x .
?x marriedTo ?y .
}
который соответствует следующему запросу SPARQL, использующему терминологию набора данных:
PREFIX : <http://dbpedia.org/resource/>
PREFIX dbpedia2: <http://dbpedia.org/property/>
PREFIX dbpedia: <http://dbpedia.org/ontology/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX dbo: <http://dbpedia.org/ontology/>
SELECT ?y {
:Bill_Clinton dbpedia:child ?x .
?x dbpedia2:spouse ?y .
}
SELECT ?x {
?x isA book .
?x by William_Goldman .
?x has_pages ?p .
FILTER (?p > 300)
}
который соответствует следующему запросу SPARQL с использованием словаря набора данных:
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX : <http://dbpedia.org/resource/>
PREFIX dbpedia2: <http://dbpedia.org/property/>
PREFIX dbpedia: <http://dbpedia.org/ontology/>
SELECT ?x {
?x rdf:type dbpedia:Book .
?x dbpedia2:author :William_Goldman .
?x dbpedia:numberOfPages ?p .
FILTER(?p > 300)
}
Это схемо-независимые запросы, выраженные в виде поиска по ключевым словам, где синтаксис и семантика операторов отличаются от формата структурированных запросов.
"Bill Clinton дочь замужем за"
"Книги Уильяма Голдмана объёмом более 300 страниц"
Семантическая сложность
По состоянию на 2016 год концепция схемо-независимых запросов развита в первую очередь в научной среде. Большинство схемо-независимых систем запросов исследуются в контексте интерфейсов на естественном языке для работы с базами данных или семантической паутиной[7]. Эти работы посвящены применению техник семантического синтаксического анализа при обработке объёмных, гетерогенных и бесcхемных баз данных. В последнее время концепция схемо-независимых систем запросов и баз данных стала более явно обсуждаться в публикациях[1][5][6]. Фрейтас и др.[8] предлагают вероятностную модель семантической сложности сопоставления схемо-независимых запросов.