Реляционная база данных для небольшой сети.

Статус
Закрыто для дальнейших ответов.

Ognev

ex-Team DUMPz
Свой / Own
Регистрация
20.08.2004
Сообщения
2 102
Реакции
902
Баллы
113
Возраст
25
Местоположение
В караганде
Всем доброго времени суток!

Хотелось бы услышать мнения специалистов о плюсах и минусах различных платформ реляционных БД под Windows для небольшой сети (несколько десятков компьютеров). В качестве критериев хотелось бы видеть:
1) Удобство разработки под них программного обеспечения (предположительно на Delphi).
2) Надежность работы.
3) Степень реализации стандартного SQL и его расширений.
4) Необходимость сопровлждения и настройки самого сервера.
5) Цена.
6) Может что-то еще ... )))

Были бы очень интересны личные ощущения от работы с разными БД.
________________________________________________________________

Ну что ж, подведем некоторые итоги. Итоги пойдут в порядке поступления.

I. Бесплатные БД

1) MySQL ( )
MySQL:
  1. Бесплатна.
  2. Есть ODBC и .NET библиотека, так что доступ можно организовать в прогамме, написанной почти на всем, чем угодно.
  3. Надежность: UNIX-хостинг по всему инету в качестве серверов баз данных юзает MySQL. Так что лично я не сомневаюсь.
...
Надежность под Windows:
Прогнозировать поведение при солидных объемах данных, есстественно, не возьмусь. Но факт, что у меня ни разу не падала. В принципе, завалить можно все что угодно В MySQL есть настройки - сколько отжирать мозгов и т.д. То есть ее можно оптимизировать под любой объем данных.
MySQL лично мне неудобна, "певчая птичка с ярким оперением" нравится намного больше.

2) Access
А чем Access тебя не устраивает?
Я сделал пару проектов именно s нем.. Просто и наглядно..
По моему, идеален для малых проектов..
Большинство задач, с которыми реально сталкивался, по большей части прекрасно решались в MS Access, хотя она и не сетевая (с возможностью элементарного перехода к SQL Server). А современные парадигмы создания распределённых систем не предполагают общения с сервером путём посылки SQL-запросов. Всё равно "слой абстракции данных / слой бизнес-логики / слой взаимодействия с пользователем".

3) Firebird ( )
Мой "ответ Черчилю": Firebird
1. Бесплатная
2. Open source и притом проект развивается.
3. Доступен вариант и как серверная СУБД и как локальная база (Embedded) - особенно радует мощь сервака БД в качестве локальной СУБД
4. что не понравилось - но это изза моего опыта работы с T-SQL - транзакционность (но это может быть и плюсом) и мизерная надстройка над языком SQL - слишком мало нестандартных функций SQL.
Присоединяюсь Firebird очень приятный движок. А транзакции - это основа любого нормального сервера. Функции без проблем подключаются из dll. Единственный недостаток, на мой взгляд это работа из PHP. Но человек просил Delphi, так что наверное лучше не придумаешь :)
Присоединяюсь к коллеге рекомендовавшему Firebird и постараюсь добавить аргументов в его пользу
1) наиболее продвинутые компоненты для Дельфи из всех что я видел,я имею в виду Fib+ (Для просмотра ссылки необходимо: Войти или Зарегистрироваться), это отечественная разработка , просто супер, для ex-USSR стоит недорого , но если что, есть у китайцев , возможностей море, одни макросы в SQL запросах чего стоят
2) Очень надежная - особенно версии Classic for Unix(Linux) - лично у меня работает 2 сервера (уже несколько лет ) - всего 2 сбоя - оба по моей вине.
3) По транзакциям - все то что говорится про транзакции - вопрос скорее религии , кто-то считает что блокировки это хорошо , а как для меня так зная что такое версионность и two phase commit можно работать просто отлично.
вдогонку
там говорилось что у firebird мало функций , так вот уже давно есть куча библиотек для всего что хочешь, причем включать их в свою бд можно по желанию , особенно рекомендую RFUNC
все это можно постмотреть и взять на _www.ibase.ru

4) PostgreSQL ( )
За PostgreSQL на Windows слова не замолвлю. Под Unix - совсем другое дело.


II. Бесплатные версии платных БД.

1) Microsoft SQL Server
По Microsoft SQL Server 2005 Express Edition информации много на сайте MS:


Продукт действительно очень удачный. Особенно удались (по сравнению с предыдущими версиями и конкурентами) средства развёртывания и сопровождения.
Для начала особенно интересно посмотреть Video Series: SQL Server 2005 Express Edition for Beginners ( ).

Замечу, что вся прелесть решений Microsoft раскрывается при интеграции продуктов и принятии идеологии их использования. Например, приложение .NET + ADO.NET 2.0 + MSSQL Express (или нормальный SQL Server) = rulezz, то есть удобство разработки и сопровождения, надёжность и т.п. на высоком уровне. В противном случае всё не так хорошо, как могло бы быть.

2) Oracle
Довольно долгое время работал с Firebird. Недавно, в силу обстоятельств, попробовал Oracle (10g XE). Теперь больше не буду работать ни с какой другой базой!!! Кстати, Oracle 10g XE бесплатный, с ограничением на размер базы (4Гб) и используемой памяти (1Гб). Таких возможностей нет больше ни в какой другой СУРБД! Рекомендую всем!!!
С моей точки зрения и по сравнению с Firebird:
1. Очень понравилось использовать PL/SQL. В одном компоненте TSQL можно написать обработку, для которой в Firebird требовалось объединять несколько SQL-запросов.
2. Не блокирует данные при транзакциях (сам проверял). В Firebirde часто попадал на deadlock.
3. Работает очень быстро (особенно под Linux-ом).
4. В инете документации по ораклу - вагон.
Это если не копать вглубь.
...
Установка и сопровождение под Windows.
Опять повторюсь - работаю с Ораклом недавно, не гуру, перешел с Firebird в силу обстоятельств. Особых сложностей не заметил - куча документации в интернете. Поставился 10gXE легко - запросил только каталог установки. Есть Web-интерфейс для администрирования. Много компонентов под Delphi для разработки приложений. Сейчас переписываю проекты с FB на Оракл.
________________________________________________________________

Некоторые попытки сравнения разных БД и .
 
Последнее редактирование модератором:

JackKetch

New member
Регистрация
30.03.2004
Сообщения
12
Реакции
0
Баллы
1
Возраст
40
MS SQL Server :)
 

Ognev

ex-Team DUMPz
Свой / Own
Регистрация
20.08.2004
Сообщения
2 102
Реакции
902
Баллы
113
Возраст
25
Местоположение
В караганде
JackKetch,
я вроде спрашивал про плюсы и минусы, а не про названия, которые и так все знают.

P.S. Попрошу впредь высказываться в теме предметно )))
 

ZeVS

Специалист
Регистрация
02.10.2005
Сообщения
220
Реакции
77
Баллы
28
Местоположение
Гомель
Native language | Родной язык
Русский
MySQL:
  1. Бесплатна.
  2. Есть ODBC и .NET библиотека, так что доступ можно организовать в прогамме, написанной почти на всем, чем угодно.
  3. Надежность: UNIX-хостинг по всему инету в качестве серверов баз данных юзает MySQL. Так что лично я не сомневаюсь.
 

Ognev

ex-Team DUMPz
Свой / Own
Регистрация
20.08.2004
Сообщения
2 102
Реакции
902
Баллы
113
Возраст
25
Местоположение
В караганде
Да, совсем забыл написать, что БД будет под Windows! Добавил в шапку. Как у MySQL с надежностью именно под эту ОС?

Шибко еще мне в свое время нахваливали Postgre SQL, но подразумевая реализацию под *nix. Сейчас он и под Windows есть, но остаются некие сомнения в надежности его именно под виндой.
 

ZeVS

Специалист
Регистрация
02.10.2005
Сообщения
220
Реакции
77
Баллы
28
Местоположение
Гомель
Native language | Родной язык
Русский
Как у MySQL с надежностью именно под эту ОС?
У меня в базе объем данных невелик. Тысячи 1.5-2 записей по всем таблицам. Да и обращения нечастые. Прогнозировать поведение при солидных объемах данных, есстественно, не возьмусь. Но факт, что у меня ни разу не падала. В принципе, завалить можно все что угодно ;) В MySQL есть настройки - сколько отжирать мозгов и т.д. То есть ее можно оптимизировать под любой объем данных.
 

y.victor

Member
Регистрация
19.07.2004
Сообщения
57
Реакции
14
Баллы
8
А чем Access тебя не устраивает?
Я сделал пару проектов именно s нем.. Просто и наглядно..
По моему, идеален для малых проектов..
 

dreadangel

Member
Регистрация
12.01.2007
Сообщения
83
Реакции
14
Баллы
8
Местоположение
Kishinau
А чем Access тебя не устраивает?
..


идеален только для чтения и отображения данных но с моей точки зрения там многовато недоработок и глюков особенно при работе с Delphi при использование ClientDataSet. и притом в теме было "Реляционная база данных для небольшой сети" - на мой взгляд даже для мааааленькой сети Access не подходит - только для локалки

Мой "ответ Черчилю": Firebird
1. Бесплатная
2. Open source и притом проект развивается.
3. Доступен вариант и как серверная СУБД и как локальная база (Embedded) - особенно радует мощь сервака БД в качестве локальной СУБД
4. что не понравилось - но это изза моего опыта работы с T-SQL - транзакционность (но это может быть и плюсом) и мизерная надстройка над языком SQL - слишком мало нестандартных функций SQL.
 
Последнее редактирование модератором:

Guard

Premium
Premium
Регистрация
05.03.2004
Сообщения
58
Реакции
2
Баллы
8
Возраст
49
Местоположение
Тула
Native language | Родной язык
Русский
Присоединяюсь Firebird очень приятный движок. А транзакции - это основа любого нормального сервера. Функции без проблем подключаются из dll. Единственный недостаток, на мой взгляд это работа из PHP. Но человек просил Delphi, так что наверное лучше не придумаешь :)
 

Ognev

ex-Team DUMPz
Свой / Own
Регистрация
20.08.2004
Сообщения
2 102
Реакции
902
Баллы
113
Возраст
25
Местоположение
В караганде
y.victor,
если коротко, то почти всем ))) А самое главное, разве даже Access 2007 является реляционной БД? А ведь тема именно о них. Access может быть и хорош для создания небольших утилит что называется "на коленке", но вряд ли может всерьез рассматриваться как БД для полнофункционального Win-приложения.

Чтобы придать теме некоторый импульс попробую высказать свое виденье этого вопроса.

Первый момент, на мой взгляд, который должен решить разработчик при выборе БД в наше время (время становления борьбы с пиратством на софтовом фронте), это хочет ли он (заказчик/шеф/etc) платить за нее деньги. Даже если ваш проект мал или вообще не коммерческий, все же стоит подумать и о возможности его дальнейшего развития. Таким образом, я бы изначально поделил все реляционные БД на два больших класса - Платные и Свободно Распространяемые.

Вопрос о выборе среди платных БД естественно начать с установления максимальной суммы, которая на это будет потрачена. Возможно, это сразу сузит круг претендентов, и, наверно, Oracle останется за бортом. Но так как разговор идет о БД для небольшой сети, то будет разумным предположить, что сумма это будет столь маленькой, что мы без потери общности можем положить ее равной нулю. Таким образом, далее будем рассматривать только бесплатные, а, точнее, свободно распространяемые БД.

Из бесплатных БД исторически первым был, пожалуй, теперешний PostgreSQL. Еще можно выделить MySQL, который родился как альтернатива PostgreSQL (их конкуренция продолжается и по сей день). И, наконец, не так уж давно, как-то вдруг вырос (из InterBase) и окреп Firebird. Не претендуя на полноту и объективность попробую, однако, их сравнить.
1) Интеграция с web. По отзывам и PostgreSQL и MySQL легко интегрируются с web. Кто лучше - не берусь судить, так как никогда этим не занимался. Если для вас критичен этот пункт, то Firebird, наверно, стоит отбросить.
2) Степень реализации языка SQL. PostgreSQL здесь по признаниям многих лидер. Однако, столь глубокая реализация поддержки SQL во многом специфична, и может оказаться, что вовсе не нужна для ваших задач. Firebird здесь прочно занимает второе место, но, на мой взгляд, имеет практически все необходимое для решения стандартных задач. MySQL пока что не может здесь похвастаться большими успехами, хотя работа в этом направлении усиленно ведется.
3) Скорость. Считается (и, думаю, не без основания), что конек MySQL - это скорость его работы. Однако, имею (ничем не проверенное) подозрение, что в реальных приложениях для небольшой сети эта разница будет незаметна пользователю. Однако, это может быть критично для web-приложений.
4) Удобство разработки под Delphi. Здесь я хочу остановиться лишь на одном моменте. Представьте, что к вам пришел заказчик и сказал - хочу вашу программу, но под Oracle. А вы писали под MySQL. Предполагая такой вариант, возможно, стоит использовать при разработке унифицированный способ доступа к БД. Например, набор компонентов dbExpress. Пока (на сколько мне известно) с Delphi поставляются драйвера dbExpress для работы с Firebird и MySQL. При работе с PostgreSQL придется использовать специализированный набор компонентов. Правда, остается вариант работы через ODBC, но лично мне он не симпатичен.
5) Установка сервера БД, стабильность работы в Windows, сопровождение. Здесь по личному опыту могу сказать только о Firebird. Установка банальна. Настройка и сопровождение практически не требуются. Работает стабильно. В общем, что называется - поставил и забыл. Наверно, то же самое можно сказать о MySQL. С PostgreSQL ситуация кажется сложнее. Версия этой БД для Widows появилась не так давно, и о стабильности ее работы встречаются негативные отзывы. Однако, как обстоит дело сейчас мне судить трудно. Кроме того, берусь предположить, что установка, настройка и сопровождение сервера для этой БД будет сложнее.

В заключении хочу заметить, что мое мнение может быть и очень далеко от реального положения вещей, а высказал я его в надежде на дальнейшую продуктивную дискуссию, в которой может быть родится истина )))
 

jONES1979

New member
Регистрация
15.05.2007
Сообщения
8
Реакции
1
Баллы
3
Местоположение
Екатеринбург
" А самое главное, разве даже Access 2007 является реляционной БД? "
гы? а разве не является?
"В соответствии с реляционной моделью база данных представляется в виде совокупности таблиц, над которыми могут выполняться операции, формулируемые в терминах реляционной алгебры и реляционного исчисления"

А у тя какие критерии, по которым Акцесс не соответсвует названию реляционной?

сорри за оффтоп
 

Ognev

ex-Team DUMPz
Свой / Own
Регистрация
20.08.2004
Сообщения
2 102
Реакции
902
Баллы
113
Возраст
25
Местоположение
В караганде
Извиняюсь за offtop, но какие у вас критерии включения Access в список реляционных баз? И что именно вы понимаете под термином "реляционная алгебра".

P.S. если ваш ответ предполагает голый флуд, то предлагаю сразу перенести дискуссию в личку.
 

jONES1979

New member
Регистрация
15.05.2007
Сообщения
8
Реакции
1
Баллы
3
Местоположение
Екатеринбург
итак по порядку:

реляционная БД реализует хранение данных в соответсвии с реляционной моделью. Данные представляются в виде совокупности таблиц, над которыми могут выполняться операции, формулируемые в терминах реляционной алгебры.

в Акцесс данные хранятся как? В виде таблиц! Таблицы могут быть связаны - по этому критерию соответсвует!

Базовые операции(действия) реляционной алгебры:
Выборка, Сложение, Вычитание, Перемножение - любой из них реализуется в Accesss оператором SELECT с различными параметрами и условиями. - по этому критерию тоже соответсвует!
---------------------------------------------------------------
не знаю, голый ли это флуд. но точно оффтоп.

а вот критерии по которым вы решили что Access не относится к реляционным СУБД было бы интересно услышать. :) Так же, как и ваше мнение как КАКИМ же СУБД он тогда относится?
 

Ognev

ex-Team DUMPz
Свой / Own
Регистрация
20.08.2004
Сообщения
2 102
Реакции
902
Баллы
113
Возраст
25
Местоположение
В караганде
Ну, предлагаю оперется не на какие-то расплывчатые слова, которыми вы оперируете, а, например, на 12 правил Кодда (например можно глянуть). Могу ошибаться, но на вскидку реализация пункта 4 в Access сильно под вопросом, 5, 6, 7, 11 на мой взгляд не выполняются.
 

jONES1979

New member
Регистрация
15.05.2007
Сообщения
8
Реакции
1
Баллы
3
Местоположение
Екатеринбург
12 правил (на самом деле их 13), которым должна удовлетворять каждая система управления реляционными базами данных.
Ооо, ну с таким то подходом да, акцесс явно недореляционная субд. Точнее неудовлетворительно реляционная ;)

---
к сожалению модель данных используюмую "акцессом" у вас не получится отождествить с другими известными моделями данных. ... эээ ... наверное :)
---
а по теме топика. есть бесплатные версии Oracle(с прошлого года) и MS SQL сервер (Express Edition называется вариант 2005-ого сервака, MSDE - вариант 2000-ого).
Про Оракл ничего не скажу, слишком далек он от народа, а вот MS SQL 2005 Express Edition оч. хорош. "стал"в последнее время.
Нет ограничений по кол-ву пользователей. Макс размер БД - 4 гигабайта.
начиная с SP1 ему "вернули" оболочку (забыл как называется, раньше звалась Enterprise Manager), в комплекте идет Reporting Services (то есть можно делать отчеты и получать их с IIS)
1) Интеграция с web: Классическая (уже) связка +IIS+ASP.NET
2) Степень реализации языка SQL: T-SQL "мощщный, он может все" :) А если серьёзно, то он действительно много умеет, достаточно Book-On-Line почитать. Ну и собсна, раз он 2005ый сервер таки, то доступ из хранимок и триггеров ко всему что зарегено в .NET со всеми вытекающими возможностями...
3)4)5) тож всё хорошо, хотя на вкус и на цвет товарища нет, и тож если хорошо поискать то можно чо угодно найти и хорошее и плохое...

из минусов - тока моноплатформенность (виндовс онли). хотя оч. многим это без разницы.
 
Последнее редактирование модератором:

Ognev

ex-Team DUMPz
Свой / Own
Регистрация
20.08.2004
Сообщения
2 102
Реакции
902
Баллы
113
Возраст
25
Местоположение
В караганде
Лично я не берусь сравнить бесплатные урезанные версии платных БД между собой и с их бесплатными собратьями. Однако, если кто-то возьмется это сделать, то, думаю, всем бы было очень интересно.
 

dreadangel

Member
Регистрация
12.01.2007
Сообщения
83
Реакции
14
Баллы
8
Местоположение
Kishinau
Может кото-то толком обьяснить что такое MSDE?
 

Ognev

ex-Team DUMPz
Свой / Own
Регистрация
20.08.2004
Сообщения
2 102
Реакции
902
Баллы
113
Возраст
25
Местоположение
В караганде
dreadangel,
а ты можешь толком объяснить, какое отношение твой вопрос имеет к плюсам и минусах реляционных БД?

P.S. Если тебе от этого станет легче, то MSDE = Microsoft Database Engine.
 
Последнее редактирование модератором:

eugene_iy

New member
Регистрация
26.01.2006
Сообщения
11
Реакции
3
Баллы
3
Возраст
48
Местоположение
Одесса
Присоединяюсь к коллеге рекомендовавшему Firebird и постараюсь добавить аргументов в его пользу
1) наиболее продвинутые компоненты для Дельфи из всех что я видел,я имею в виду Fib+ (Для просмотра ссылки необходимо: Войти или Зарегистрироваться), это отечественная разработка , просто супер, для ex-USSR стоит недорого , но если что, есть у китайцев , возможностей море, одни макросы в SQL запросах чего стоят
2) Очень надежная - особенно версии Classic for Unix(Linux) - лично у меня работает 2 сервера (уже несколько лет ) - всего 2 сбоя - оба по моей вине.
3) По транзакциям - все то что говорится про транзакции - вопрос скорее религии , кто-то считает что блокировки это хорошо , а как для меня так зная что такое версионность и two phase commit можно работать просто отлично

Добавлено позднее:

вдогонку
там говорилось что у firebird мало функций , так вот уже давно есть куча библиотек для всего что хочешь, причем включать их в свою бд можно по желанию , особенно рекомендую RFUNC
все это можно постмотреть и взять на _www.ibase.ru
 
Последнее редактирование модератором:

Ognev

ex-Team DUMPz
Свой / Own
Регистрация
20.08.2004
Сообщения
2 102
Реакции
902
Баллы
113
Возраст
25
Местоположение
В караганде
Может кто-то из пользователей PostgreSQL замолвит за него доброе слово? Или может будут еще какие-то не обсуждавшиеся варианты?
 

ploki

Active member
Регистрация
16.05.2005
Сообщения
237
Реакции
180
Баллы
43
Местоположение
Москва
1. to Ognev
Маленькая поправка: MSDE - это Microsoft SQL Server Desktop Engine.

2. По Microsoft SQL Server 2005 Express Edition информации много на сайте MS:


Продукт действительно очень удачный. Особенно удались (по сравнению с предыдущими версиями и конкурентами) средства развёртывания и сопровождения.
Для начала особенно интересно посмотреть Video Series: SQL Server 2005 Express Edition for Beginners ( ).

Замечу, что вся прелесть решений Microsoft раскрывается при интеграции продуктов и принятии идеологии их использования. Например, приложение .NET + ADO.NET 2.0 + MSSQL Express (или нормальный SQL Server) = rulezz, то есть удобство разработки и сопровождения, надёжность и т.п. на высоком уровне. В противном случае всё не так хорошо, как могло бы быть.

3. MySQL лично мне неудобна, "певчая птичка с ярким оперением" нравится намного больше.

4. За PostgreSQL на Windows слова не замолвлю. Под Unix - совсем другое дело.

P.S. А вообще всё зависит от задач... Большинство задач, с которыми реально сталкивался, по большей части прекрасно решались в MS Access, хотя она и не сетевая (с возможностью элементарного перехода к SQL Server). А современные парадигмы создания распределённых систем не предполагают общения с сервером путём посылки SQL-запросов. Всё равно "слой абстракции данных / слой бизнес-логики / слой взаимодействия с пользователем".

P.P.S. Обсуждать реляционную алгебру и называть отношение таблицей - это прикольно...
 
Последнее редактирование модератором:

Ognev

ex-Team DUMPz
Свой / Own
Регистрация
20.08.2004
Сообщения
2 102
Реакции
902
Баллы
113
Возраст
25
Местоположение
В караганде
ploki,
что бы посоветовал почитать по поводу "современные парадигмы создания распределённых систем", очень желательно в сжатом виде? )))

P.S. Честно скажу, что такое реляционная алгебра - не знаю, хотя зачаточное представление об алгебре с точки зрения теории множеств вроде имею ))) ... "мы все учились по немногу" ...
 

ploki

Active member
Регистрация
16.05.2005
Сообщения
237
Реакции
180
Баллы
43
Местоположение
Москва
to Ognev
Сначала про реляционную алгебру (relation algebra, РА). Это одна из двух формальных систем (алгебраических систем, см. , там понятно, хотя и слишком лаконично; но можно взять учебник по высшей алгебре) для описания и манипулирования отношениями (relation) на кортежах (tuple), образующих логическую модель данных. Вторая система - реляционное счисление (или исчисление), оно эквивалентно РА. Отличия, если по-простому, в том, что выражения РА являются набором предписаний, а выражения счисления - набором описаний. Существует несколько различных вариантов формализации РА!
Язык SQL - по сути, язык реляционного счисления (с кучей дополнений), он является реляционно полным, то есть может описать любое отношение.

Для введения в предмет мне нравится книга Дейта:
Дейт К. Введение в системы баз данных, 8-е издание. — Вильямс, 2005. – 1328 с.
Произведения Кодда нравятся меньше - читать труднее, хотя и надо, так как первоисточник.

Кстати, знаменитые правила (или свойства) Кодда, также как, и правила Дейта, - это некоторая идеализация, которая очевидным образом сталкивается лбом с проблемами прозрачности и эффективности.
Рекомендую почитать знаменитые "манифесты", а затем комментарии, например и .

И ещё, никому не советую глубоко копаться в Википедии (IMHO). Там хорошо посмотреть, есть ли какое-либо понятие и про что оно. Но количесво ошибок при описании серьёзных и глубоких вопросов просто поражает (хотя есть приятные ислключения).



Теперь о "современных парадигмах создания распределённых систем".
Совсем в сжатом очень тяжело. Так что не пинайте сильно.

Во-первых, обсуждать парадигмы проектирования бессмысленно без знакомства с современной инфраструктурой. Поэтому, если кто не лазил (я думаю, что все уже лазили :) ), придётся залезть на и почитать стандарты на XML, SOAP, WSDL, RDF, OWL, XQuery, ..........., и т.п, затем залезть куда угодно (мест полно) и почитать про технологии сетевого взаимодействия программных компонентов (RPC, DCOM, CORBA, RMI, MSMQ, .NET Remoting, MPI, ...........). Без базового представления об инфраструктуре не обойтись.

Теперь собственно про парадигмы. Основная мысль - создание сервисно-ориентированных истинно распределённых информационных систем (с вертикальным и горизонтальным распределением) на основе компонентного программирования. Вертикальное распределение предусматривает обязательное выделение нескольких (минимум 4!) уровней абстракции (отсюда многослойные архитектуры). Горизонтальное распределние в основном связано с территориальным распределением и масштабированием, сводясь к параллельному выполнению кода и распределённому хранению данных (отсюда репликация и кэширование). Компонентные технологии для этого обязательны, чтобы бороться со сложностью, и предполагают использование чётких и прозрачных интерфейсов, согласование форматов данных и протоколов взаимодействия, а также удобство интеграции и высокий уровень повторного использования. Ещё одно ключевое слово - это виртуализация (представление любых ресурсов в нужном потребителю виде, независимо от потребностей других потребителей). ВИртуализация позволяет реально создавать истинно гетерогенные системы (например, GRID-технологии).


Некоторые источники:

Microsoft patterns & practices Developer Center:


Software Architecture: Past, Present and Future:


Поддержка разработки распределенных приложений в Microsoft .NET Framework:



Некоторая литература:
1. Э. Таненбаум, М. ван Стен. Распределённые системы. Принципы и парадигмы. — СПб.: Питер, 2003. – 877 с.
2. Л. Басс, П. Клементс, Р. Кацман. Архитектура программного обеспечения на практике. — Питер, 2006. – 576 с.
3. Бертран Мейер. Объектно-ориентированное конструирование программных систем. — Русская Редакция, 2005. – 1204 с.
4. Хоп Г., Вульф Б. Шаблоны интеграции корпоративных приложений. — Вильямс, 2006. – 672 с.
5. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приёмы объектно-ориентированного проектирования. Паттерны проектирования. — Питер, 2001. – 368 с.

Источников очень много, где-то наверняка есть и красивое сжатое изложение. Кто найдёт - тоже буду признателен.

P.S. Перечитал - понял, что получился оффтопик, но ведь в ответ на вопрос!

P.P.S. Может, новую тему сделать - типа "Доступ к данным в программных продуктах"?
 
Последнее редактирование модератором:

Ognev

ex-Team DUMPz
Свой / Own
Регистрация
20.08.2004
Сообщения
2 102
Реакции
902
Баллы
113
Возраст
25
Местоположение
В караганде
ploki,

Спасибо за ответ. На счет
P.S. Перечитал - понял, что получился оффтопик, но ведь в ответ на вопрос!
будем считать, что это теоретическое дополнение, которое необходимо для понимания сути вопроса ))) Ну и раз уж "пошла такая пьянка", то может продолжим?

Почитал про алгебру ... еще раз убедился, что я не математик ))) Вот не понял, например, чем таки операция отличаются от отношения. По мне, так одно и тоже - сопоставление одному элементу множества другого ... Единственный вариант, что может быть отношение симметричная операция, т.е. из того, что a в отношении с b, следует, что b в отношении a, тогда как для операций вообще это не так. Но все-равно, в этом случае, отношение - частный случай операции (операция, обладающая определенной симметрией) и не понятно их (операций) выделение в отдельный класс.
Теперь, я не совсем понимаю (а точнее совсем не понимаю ))) ) что с точки зрения РА собой представляет БД. Бог с ними, с терминами, это вопрос договоренности, интересует суть. Смутно ощущаю, что элементом множества (или подмножества? или ?) является конкретное значение конкретного поля конкретной таблицы (?). И что есть таблица - подмножество, множество? Прозвучал термин - отношение. Т.е. таблица - это набор элементов, находящихся в неком отношении (которое наглядно можно представить в виде таблицы). Если так, то что тогда есть сама БД и зачем в ней выделять таблицы? Или их выделение есть некое упрощение, которое все и запутывает? Смутно еще ощущаю, что не могу четко разделить то, что можно назвать логической структурой БД (структура таблиц и связей между ними) и конкретное наполнение этой логической структурой данными. Понимаю, что эти вопросы, возможно, выглядят смешными, но ... они есть )))
С остальным ... поверхностно вроде понятно ... что надо читать и думать ))) Будем стараться.

P.S.
P.P.S. Может, новую тему сделать - типа "Доступ к данным в программных продуктах"?
Всеми руками за! Думаю, многие были бы длагодарны.
 
Статус
Закрыто для дальнейших ответов.
198 094Темы
635 065Сообщения
3 618 395Пользователи
ashot.Новый пользователь
Верх