
- •Теория субд
- •За таблицами – наше будущее!
- •Связываем данные
- •Объектный рай
- •Сетевая база данных
- •Клиент-сервер
- •Особенности клиент-сервера
- •Индексы на сервере
- •Третий уровень
- •Сетевые субд
- •Архитектуры субд: технология локальных (настольных) бд
- •Архитектуры субд: технология "клиент-сервер"
- •В чем сходства и различия?
- •Выбираем бд
- •Кибернетическое будущее за базами знаний
- •Искусственный интеллект
- •Данные и знания
- •Базы знаний и экспертные системы
- •Машинное обучение
- •Анализ данных и olap-технологии
- •Индукция правил и деревья решений
- •Хранилища данных и корпоративная память
- •Машинное обучение – ключ к кибернетическому бессмертию
- •Кофе. Солнце. Базы данных
- •Не microsoft'ом единым. Bde
- •Odbc на практике
- •Форточки и odbc
- •Odbc для пингвина
- •Какие они бывают?
- •Что такое правильная база данных?
- •Нужна наглядная схема!
- •А как это сделать?
Хранилища данных и корпоративная память
Накопленные в ходе работы фирмы данные исключительно ценны. Необходимо как-то изолировать накопленные данные с целью минимизации риска испортить их в процессе работы: утрата такой ценности недопустима. Кроме того, превышение объема информации общей базы данных неизбежно приводит к снижению производительности.
Условно разделяют рабочую базу данных, отвечающую за текущее функционирование предприятия, и хранилище данных (data warehouse), назначение которого – накопление всего массива данных с целью дальнейшего анализа. Как правило, от рабочей базы данных требуется высокая производительность с поддержкой транзакций. Хранилище данных, в свою очередь, может иметь несколько другую структуру и быть доступным только на чтение для аналитиков. Данные из рабочей базы данных периодически заносятся в хранилище. При этом может происходить проверка данных на непротиворечивость, преобразование структуры данных в вид, удобный для анализа и т.д. Архитектура хранилища данных показана на рис. 5. Использовать хранилища данных имеет смысл даже тогда, когда планируется применять простейшие методы анализа данных типа OLAP.
Многие знания, существующие только в нематериальном виде (в головах сотрудников), никак не отражаются в базах данных предприятия или вообще не преобразуются в электронный вид. Более широкое понятие, корпоративная память, относится к централизованному накоплению всех возникающих при работе документов: формуляров, служебных инструкций и т.д. Хранилище документов, определенным образом организованное ручной или автоматической категоризацией, зачастую также называют корпоративной базой знаний. Хотя с точки зрения ИИ такое название является не совсем корректным (база знаний такого рода не может быть использована
компьютером для получения логических выво дов и для решения задач). Корпоративная па мять играет важнейшую роль в увековечении опыта сотрудников.
Машинное обучение – ключ к кибернетическому бессмертию
Рассмотренные задачи машинного обучения, накопления и эффективного использования корпоративной памяти сейчас достаточно эффективно развиваются, поскольку они востребованы в сфере бизнеса. Несложно представить себе, что в ближайшем будущем методы обучения станут настолько развитыми, что можно будет представить опыт, привычки и знания человека в некотором электронном виде настолько полно, что программная система, руководствуясь этими знаниями, сможет выполнять многие задачи вместо человека, помогая ему в повседневной деятельности. Для развития этой мысли введем понятие кибернетического бессмертия. Компьютерный агент-помощник может продолжать выполнение многих задач за человека и после его смерти, сохраняя при этом некоторый виртуальный образ своего бывшего "хозяина", поскольку обладает практически теми же знаниями и привычками. И хотя во многом идея кибернетического бессмертия не так привлекательна по сравнению с биологическим, уже в ближайшие годы или десятилетия мы, возможно, сможем наблюдать рождение принципиально новых форм взаимодействия человека и компьютера, возникших благодаря методам искусственного интеллекта.
ИСТОРИЯ РАЗВИТИЯ ИНТЕРФЕЙСОВ ДОСТУПА К БАЗАМ ДАННЫХ
Базы данных существуют не в вакууме, а в окружении множества технологий. Люди общаются с БД через терминалы с помощью унифицированного языка, программы используют унифицированные технологии доступа. Все эти стандарты возникли не на пустом месте: они являются частью той истории, которую я сейчас расскажу.
АВТОМАТИЗАЦИЯ ПРОИЗВОДСТВА. ODBC
Сорок лет назад нормальное использование базы данных в подавляющем большинстве случаев можно было представить примерно так: оператор сидит за терминалом СУБД и вручную делает выборки. В скором времени автоматизация производства проникла и сюда: с началом внедрения автономных программных комплексов базы данных услуги человека-работника стали ненужными. На тот момент стандарты описывали лишь логику построения РБД и язык SQL, призванный стать унифицированным интерфейсом между человеком и СУРБД, но не между программой и СУРБД. Как и всегда в подобных ситуациях, в мире воцарился хаос: каждый производитель пытался протолкнуть свой программный интерфейс доступа и навязать его потребителю. Устав от этого бардака, наиболее сознательные производители объединились в группу SAG (SQL Access Group), которая занялась разработкой унифицированного CLI (Call Level Interface, а проще - "библиотека функций"), позволяющего приложениям работать с базами данных. Разработка оказалась удачной и была стандартизирована ISO и EIC. Стандарт ISO/EIC DBC CLI не слишком удобен и гибок по современным нормам, перегружен низкоуровневыми рутинными операциями, но он впервые позволил программистам писать системы, взаимодействующие с РБД, и малой кровью переносить их между базами различных производителей.
В 1992 году небезызвестная компания Microsoft с небольшим опозданием обратила внимание на популярность и востребованность технологий, связанных с реляционными базами данных. Завоевать этот сегмент рынка засильем своих технологий к тому времени уже не представлялось возможным, поэтому новый продукт компании основывался на ISO/EIC CLI и получил название ODBC - Open Database Connectivity. Проект ODBC отличался от своего предка расширенным набором функций и разделением на два компонента: ODBC-драй-веры, предоставляющие непосредственный доступ к БД, и ODBC-диспет-чер (менеджер) который с одной стороны управляет драйверами, а с другой взаимодействует с прикладным ПО. Такой подход позволяет ODBC-приложениям полностью абстрагироваться от специфики конкретной РДБ, легко переключаясь между ними даже в процессе работы.