![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| serious |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 316 Регистрация: 15.2.2003 Где: Пенза Репутация: нет Всего: 1 |
Нужно мнение: как лучше писать базы данных (реляционные), ну в смысле что использовать (ADO, ODBC...).
А писать лучше на API или как? И подскажите пожайлуста, какие компоненты самые такие.. -------------------- Я знаю то, что ничего не знаю, а некоторые не знают и этого. |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Зависит от многих факторов
1) Для локальных баз данных предпочтительнее сочетания: ADO+MS Access DAO + MS Access BDE + Paradox BDE + DBase/FoxPro 2) Для небольших серверных баз данных: DBExpress + MySQL 3) Для больших серверных баз данных: ADO + MS SQL Server DOA + Oracle DBExpress + Oracle А теперь чего делать категорически не рекомендуется: 1) Использовать ODBC для любых баз данных 2) Использовать BDE для любых серверных баз данных -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| cpu |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 27.2.2003 Репутация: нет Всего: нет |
Я InterBase использовал. Понравилось.
|
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Да для небольших серверов подходит замечательно, тем более что для Дельфей - родная. -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Маленькая проправочка, для Oracle лучше всего использовать ODAC. (Oracle Data Access Components)
-------------------- |
|||
|
||||
| NoName |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 27.2.2003 Репутация: нет Всего: нет |
Для баз с кол-вом записей менее 10000 лучше всего использовать ADO (преимущества: скорость, простота работы с ней, недостатки: при кол-ве записей более 10000 существенно замедляется работа с ней), для баз с кол-вом записей более 10000 лучше всего подходит Interbase (теже преимущества что и у ADO + использование транзакций, больше возможностей при работе с сетью, безопастность, использование триггеров и встроенных процедур) У каждого движка баз данных свои преимущества и недостатки, их выбор должен быть основан на конкретной поставленной задаче
|
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
А почему ? Я просто писал базы с использованием BDE и ODBC - сказать, что все так плохо, не могу. Да, несомненно есть кое-какие ограничения. Но столь категорично я бы не рискнул. Если есть печальный опыт - делись |
|||
|
||||
| NoName |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 27.2.2003 Репутация: нет Всего: нет |
||||
|
||||
| Guest_serious |
|
|||
|
Unregistered |
А где про Interbase можно в сети почитать?
|
|||
|
||||
| 78125 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 198 Регистрация: 20.1.2003 Где: Санкт-Петербург Репутация: нет Всего: нет |
А мне нравится ODBC+ Access --------------------
купим подпись |
|||
|
||||
| NoName |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 27.2.2003 Репутация: нет Всего: нет |
||||
|
||||
| Vit |
|
||||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Есть - ODBC при сравнении с DAO, BDE, ADO практически всегда проигрывает в скорости. Проверял неоднократно. Был собственный печальный опыт BDE+MS SQL Server - при подключении более 15 пользователей работа стала невозможной - блокировки мешают друг другу, скорость работы очень низкая, загрузка всех процессоров сервера - 100%, программы работают еле-еле... Dead Lock каждую секунду - попытка понять его возникновения приводит что нахожу цепь блокирововок из штук 200 кверей... Замена того же кода и тех же самых кверей на ADO увеличила скорость выполнения кверей примерно на 3-4 порядка, загрузка процессоров на сервере упала до 20-30%, Dead Lock вообще исчезли... При этом я не менял ни кверей ни индексов ни структуры таблиц... Впрочем при количестве пользователей до 5 - существенной разницы между BDE и ADO нет -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
||||
|
|||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
DAO работает примерно в 3-7 раз быстрее (сам проверял), и даёт гораздо бОльшие возможности по манипулированию данными, так же прошу учесть что именно DAO является родным драйвером для MS Access и MS Excel - специально для этих баз данных изобретённых, а ODBC задумывалась как универсальная система к любым базам, как всегда специализированные системы работают эффективнее, чем универсальные... -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
Ты имеешь в виду, что у тебя была трехзвенка ? И проблемы были в средней части ? |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Не знаю о чём Вы говорите. Транзакции ADO поддерживает точно так же, и возможностей куча. По поводу объёма - у меня база данных в десятки миллионов записей (MS SQL Server) размер базы данных уже приближается к 100 гигабайтам, количество одновременных подключений более 1000, количество одновременно исполняемых кверей более сотни, при этом время выполнения одной квери примерно 10-30 мсек. Использую для доступа ADO. Если у вас проблема с ADO доступом и он тормозит, то скорее всего дело не в ADO, а в том что ADO подразумевает Client-Server архитектуру, а Вы с ним пытаетесь работать как с локальной базой данных. Прошу заметить, что InterBase подходит только для маленьких баз данных, с количеством записей не более нескольких десятков миллионов, и количеством одновременных подключений не более 500... Тем более что для серьёзных баз данных Interbase имеет слишком ограниченные возможности администрирования... -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Что такое "трёхзвенка"? Извини, я учил базы данных уже в США и не знаком с русским сленгом и некоторыми терминами... -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| SmaLL |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 557 Регистрация: 17.12.2002 Где: Voronezh Репутация: 1 Всего: 2 |
"трёхзвенка" - схема клиент->сервер->БД
-------------------- Что ни делается - всЁ к лучшему! SmallWeb Мой адрес не дом и не улица, мой адрес родной пивзавод! |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
n-tier application
Т.е. есть клиентская часть, есть часть реализующая бизнес-логику и есть уже непосредственно SQL-сервер. К базе данных ходит бизнес-логика, а клинеты все данные получают через нее. Так вот у тебя проблемы в части бизнес-логики ? |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Нет, я не вижу смысла в написании своей серверной части для данного проекта, так как используется только MS SQL Server и никакая дополнительная логика не нужна, т.е. самого MS SQL Server и его Transaction Server для меня достаточно, и я не писал multitier. Есть клиентские компьютеры (в большом количестве) и они опрашивают MS SQL Server - ничего более...
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
Т.е. ты наблюдал проблемы именно на клиентской машине ?
А программа была мультитредовой ? В BDE действительно это крайне слабое место. |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
>>Т.е. ты наблюдал проблемы именно на клиентской машине ?
Нет, и на клиенте и на сервере >>А программа была мультитредовой ? Нет, в одну нитку но програм запущено много с разных машин - больше сотни в локалке -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
Странно. Я такого не наблюдал. В одной конторе народу уже думаю гораздо больше 100. Я уходил - наблюдал более 100 коннектов. Сервак работал нормально. Да и клиенты не жаловались. Причем мы прошли путь от MS SQL 6.0 до MS SQL 2000 - и никогда такого рода проблем не наблюдалось. И связь была через BDE+ODBC - и никаких проблем. А вот с native-драйверами чере BDE действительно наблюдал тормоза. Вспоминается такое. Ладно, спасибо за информацию - буду учитывать. |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Тут возможна специфика моих програм - это не интерфейсы к базе бданных, не "терминал" для сотрудника, а программы автоматической обработки инфы - т.е. количество кверей с каждой машины колеблется от 1 до 10 в секунду постоянно...
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
Вот оно как - вот тут может как раз собака и порылась - надо тестик забабахать |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
В целом с учётом замечаний предыдущих товарищей выведу свою схему в скорректированном виде:
1) Для локальных баз данных предпочтительнее сочетания: ADO+MS Access DAO + MS Access BDE + Paradox BDE + DBase/FoxPro 2) Для небольших серверных баз данных: DBExpress + MySQL Interbase (с IB компонентами) 3) Для больших серверных баз данных: ADO + MS SQL Server ODAC(Oracle Data Access Components) + Oracle DBExpress + Oracle -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Oracle.
-------------------- |
|||
|
||||
| cpu |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 27.2.2003 Репутация: нет Всего: нет |
Я ни на что не претендую. Мне заказали разработать БД для совсем небольшой организации. Указанных недостатков, естесственно не обнаружил... записей - то было всего 100 000. Зато удобно - в дельфи все компоненты есть и хелпов завались. |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Именно об этом я и говорю - для маленьких серверных баз данных IB оптимальный выбор.
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Да, забыл один параметер - цену. Надо учесть что в некоторых концигурациях использование Oracle, MS SQL Server и IB может обойтись во многие десятки тысяч долларов...
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| cpu |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 27.2.2003 Репутация: нет Всего: нет |
Конечно, я не агитирую использлвание пиратских кодов, но моих "левых" сериийников хватило. Кстати, та версия IB (5.5) странно глючила и давала подключать больше пользователей, чем положено было по регистрации. Она мне обошлась в 75 руб. (учитывая, что вместе с ней ещё шла и Delphi 5). Конечно, она явно пиратская. Но работает же! |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
Может тогда проще FireBird взять - он-то истинно халявный. |
|||
|
||||
| Roman |
|
|||
|
Unregistered |
Vit ты про начинающих БД-шников не забыл !!!???
|
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
В смысле? -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Он имеет в виду статью наверное, про основы работы с БД.
-------------------- |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |