
- •Теория субд
- •За таблицами – наше будущее!
- •Связываем данные
- •Объектный рай
- •Сетевая база данных
- •Клиент-сервер
- •Особенности клиент-сервера
- •Индексы на сервере
- •Третий уровень
- •Сетевые субд
- •Архитектуры субд: технология локальных (настольных) бд
- •Архитектуры субд: технология "клиент-сервер"
- •В чем сходства и различия?
- •Выбираем бд
- •Кибернетическое будущее за базами знаний
- •Искусственный интеллект
- •Данные и знания
- •Базы знаний и экспертные системы
- •Машинное обучение
- •Анализ данных и olap-технологии
- •Индукция правил и деревья решений
- •Хранилища данных и корпоративная память
- •Машинное обучение – ключ к кибернетическому бессмертию
- •Кофе. Солнце. Базы данных
- •Не microsoft'ом единым. Bde
- •Odbc на практике
- •Форточки и odbc
- •Odbc для пингвина
- •Какие они бывают?
- •Что такое правильная база данных?
- •Нужна наглядная схема!
- •А как это сделать?
Сетевые субд
Типичным представителем сетевых СУБД является Integrated Database Management System (IDMS), созданная в компании Cullinet Software, Inc. Отличие таких СУБД от разработанных с помощью иерархического подхода кроется в особенностях сетевой структуры данных: потомок может иметь больше одного предка. РЕЛЯЦИОННАЯ МОДЕЛЬ ХРАНЕНИЯ ДАННЫХ
Вообще реляционная база данных представляет собой таблицу, в которой в качестве столбцов выступают названия хранимых в ней данных.
Причем в каждом столбце может быть только один, свой тип данных, а каждая строка хранит эти самые данные. Между таблицами существуют различные связи.
Архитектуры субд: технология локальных (настольных) бд
База данных хранится во внешней памяти компьютера, за которым работают один или несколько человек, или на выделенном сервере, доступ к которому осуществляется по сети.
|
Локальными или настольными называют СУБД типа Access, Paradox и т.д. В них уже есть свой формат данных, который учитывает параллельное выполнение операций, возможность доступа к БД нескольких пользователей и т.д. (в принципе, в клиент-серверных ОС БД тоже часто хранятся в файлах на диске, к которым идет доступ средствами ОС, за исключением гигантов типа Oracle, где есть своя файловая система). Делается это, ко нечно, менее эффективно, чем в клиент-серверных СУБД.
Недостатки становятся очевидными не сразу, а по мере увеличения количества данных и числа пользователей. Если снижается производительность и случаются сбои, то знай, что с этими недостатками ты уже познакомился. Объяснить это можно довольно просто: при выполнении какого-либо запроса от клиента программе необходимо прочитать некоторую часть БД из памяти (вся база в память не считывается - это было бы слишком неэффективно), что-то там намутить (в зависимости от запроса) и потом снова записать в память. Представь, сколько данных идет по сети, если БД хранится на выделенном сервере! А если база весит 10 Гб?…
Реальными минусами настольных СУБД являются: неэффективное расходование сетевого трафика и низкая эффективность при большом количестве пользователей.
Однако решение этой проблемы есть. Тебе на помощь придет одна из самых известных и распространенных сейчас технологий – "клиент-сервер".
Архитектуры субд: технология "клиент-сервер"
Принцип централизации хранения и обработки данных лежит в основе архитектуры "клиент-сервер". При использовании этой технологии весь непосильный труд по обработке данных полностью перекладывается на сервер. Машина-клиент посылает запросы, а сервер их выполняет и посылает ответы клиенту. При таком подходе разгружается сеть (хотя все зависит от запроса) и пропадает необходимость использовать мощные рабочие станции. Можно хранить бизнес-правила на сервере, что поможет избежать дублирования кода в клиентских приложениях. Серверные СУБД обладают расширенными возможностями управления привилегиями пользователей.
Кроме того, современные серверные СУБД предоставляют много возможностей резервного копирования и оптимизации запросов. Поддерживают параллельную обработку запросов, а также предоставляют возможность параллельной обработки данных сразу несколькими процессорами (при использовании в качестве сервера БД многопроцессорной системы).
ОБЗОР РЫНКА
В настоящее время существует множество различных СУБД. Некоторые из них просят денег, некоторые нет (но думаю, тоже не откажутся при случае).
Рынок корпоративных серверных СУБД представлен Oracle, MS SQL, DB2, Sybase и InterBase.
ORACLE (WWW.ORACLE.COM)
Oracle была первой коммерческой реляционной СУБД, поддерживающей язык SQL, который в последствии стал стандартом де-факто. Первая версия продукта появилась на свет в 1979 году. В наши дни компания является лидером рынка производителей коммерческих СУБД и, как написано на сайте, крупнейшим в мире поставщиком корпоративного программного обеспечения.
MS SQL (WWW.MICROSOFT.COM)
Продукт известной всем фирмы. Первая версия была разработана совместно с Sybase в 1988 году и предназначалась только для платформы OS/2. Следующие версии этого продукта были созданы для NT-based систем и тесно интегрированы с ОС, что не удивительно. Для компании гораздо выгоднее, чтобы ее СУБД использовались на ее же операционной системе – так совместимость лучше (кто знает операционную систему лучше, чем ее производитель?).
DB2 (WWW-4.IBM.COM)
Это детище IBM (DB2 Universal Database), которое представляет собой серию продуктов для различных систем. Впервые проект появился на рынке в 1996 году. Приятно, что при переносе DB2 на другую (не IBM’овс-кую) платформу компания старается максимально эффективно использовать возможности новой платформы.
SYBASE (WWW.SYBASE.COM)
Изначально компания разрабатывала серверную СУБД совместно с Microsoft. В 1994 году компании разошлись и стали разрабатывать свои программные продукты независимо друг от друга. В результате у Sybase получился продукт под названием Adaptive Server Enterprise. Продукт существует под разные оси и предназначен для применения на крупных предприятиях. Существует еще одна линия серверных продуктов Sybase, которая ведет свое начало от СУБД Watcom SQL Anywhere. Этот продукт называется SQL Anywhere Studio, отличается своей компактностью и простотой администрирования. Предназначен в основном для обслуживания небольших групп пользователей. Также существуют версии для применения в мобильных устройствах.
INTERBASE
(WWW.BORLAND.COM,
WWW.INTERBASE-WORLD.COM)
Продукт компании Borland Inc. Довольно компактная, устойчивая и производительная СУБД, способная работать на различных ОС. Визитная карточка системы – отсутствие острой необходимости напрягаться при разработке БД. Так как в другие пакеты этой фирмы (например, Delphi) встроены весьма удобные средства для разработки приложений на базе Interbase. Продукт стал популярным вследствие того, что долгое время распространялся бесплатно вместе со средствами разработки. Но кушать хочется всем, и Interbase стал платным (что-то странное вообще происходит со многими серьезными проектами).
БЕСПЛАТНЫЕ СУБД
Бесплатных СУБД тоже существует немало, но особого внимания достойны два представителя этого вида (как наиболее распространенные): MySQL. и PostgreSQL. Обе СУБД довольно динамично развиваются и повсеместно используются, так как не просят за себя денег. Продолжаются и еще не скоро утихнут бурные споры о том, какая СУБД лучше. Обе системы очень стабильны, гибки и производительны. У каждой есть свои плюсы и минусы.
MySQL – быстрая, но немного ограниченная СУБД. Хорошо подходит для проектов, не требующих сложных баз (например, для web-проектов).
PostgreSQL – мощная и тяжелая система, отвечающая всем современным стандартам СУБД. Больше подходит для серьезных проектов, требующих сложных баз данных. По скорости работы PostgreSQL уступает MySQL. И администрирование PostgreSQL - огромный геморрой. PostgreSQL - это реляционно-объектная СУБД, в которой есть некоторые расширения для работы с таблицами, на которые можно легко отображать иерархии объектов. Но это еще не чисто объектная СУБД.
Не забывай, что выбор СУБД зависит от поставленной задачи. Ассортимент услуг, которые предлагают описанные выше СУБД, в основном приходится на "клиент-серверную" архитектуру. Но кроме больших корпораций, которым необходима серверная технология СУБД, существуют еще и маленькие фирмы, которым нет смысла ставить дорогостоящий сервер в одном углу офиса, а компьютер-клиент - в другом. Для этого и используют локальные (настольные) СУБД. Основные представители этого рынка: Microsoft Access, Paradox, Visual FoxPro и dBase.