Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как лучше писать БД? Что использовать? 
:(
    Опции темы
serious
Дата 5.3.2003, 02:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 316
Регистрация: 15.2.2003
Где: Пенза

Репутация: нет
Всего: 1



Нужно мнение: как лучше писать базы данных (реляционные), ну в смысле что использовать (ADO, ODBC...).
А писать лучше на API или как? И подскажите пожайлуста, какие компоненты самые такие..


--------------------
Я знаю то, что ничего не знаю, а некоторые не знают и этого.
PM MAIL   Вверх
Vit
Дата 5.3.2003, 03:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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
PM MAIL WWW ICQ   Вверх
cpu
Дата 5.3.2003, 04:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 27.2.2003

Репутация: нет
Всего: нет



Я InterBase использовал. Понравилось.

PM MAIL WWW ICQ   Вверх
Vit
Дата 5.3.2003, 06:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Цитата(cpu @ 4.3.2003, 19:46)
Я 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
PM MAIL WWW ICQ   Вверх
Medved
Дата 5.3.2003, 06:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Маленькая проправочка, для Oracle лучше всего использовать ODAC. (Oracle Data Access Components)


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
NoName
Дата 5.3.2003, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 27.2.2003

Репутация: нет
Всего: нет



Для баз с кол-вом записей менее 10000 лучше всего использовать ADO (преимущества: скорость, простота работы с ней, недостатки: при кол-ве записей более 10000 существенно замедляется работа с ней), для баз с кол-вом записей более 10000 лучше всего подходит Interbase (теже преимущества что и у ADO + использование транзакций, больше возможностей при работе с сетью, безопастность, использование триггеров и встроенных процедур) У каждого движка баз данных свои преимущества и недостатки, их выбор должен быть основан на конкретной поставленной задаче
PM MAIL ICQ   Вверх
AntonSaburov
Дата 5.3.2003, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 118



Цитата
А теперь чего делать категорически не рекомендуется:

1) Использовать ODBC для любых баз данных
2) Использовать BDE для любых серверных баз данных


А почему ?
Я просто писал базы с использованием BDE и ODBC - сказать, что все так плохо, не могу. Да, несомненно есть кое-какие ограничения. Но столь категорично я бы не рискнул.

Если есть печальный опыт - делись biggrin.gif


PM MAIL WWW ICQ   Вверх
NoName
Дата 5.3.2003, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 27.2.2003

Репутация: нет
Всего: нет



PM MAIL ICQ   Вверх
Guest_serious
Дата 5.3.2003, 22:16 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











А где про Interbase можно в сети почитать?
  Вверх
78125
Дата 5.3.2003, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 198
Регистрация: 20.1.2003
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Цитата(Vit @ 5.3.2003, 03:29)
А теперь чего делать категорически не рекомендуется:

1) Использовать ODBC для любых баз данных

А мне нравится ODBC+ Access adv/65.gif
--------------------
купим подпись
PM MAIL   Вверх
NoName
Дата 5.3.2003, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 27.2.2003

Репутация: нет
Всего: нет



PM MAIL ICQ   Вверх
Vit
Дата 6.3.2003, 01:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Цитата(AntonSaburov @ 5.3.2003, 09:37)
Цитата
А теперь чего делать категорически не рекомендуется:

1) Использовать ODBC для любых баз данных
2) Использовать BDE для любых серверных баз данных


А почему ?
Я просто писал базы с использованием BDE и ODBC - сказать, что все так плохо, не могу. Да, несомненно есть кое-какие ограничения. Но столь категорично я бы не рискнул.

Если есть печальный опыт - делись biggrin.gif

Есть - 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
PM MAIL WWW ICQ   Вверх
Vit
Дата 6.3.2003, 02:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Цитата(78125 @ 5.3.2003, 14:04)
А мне нравится ODBC+ Access

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
PM MAIL WWW ICQ   Вверх
AntonSaburov
Дата 6.3.2003, 02:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 118



Цитата
Был собственный печальный опыт BDE+MS SQL Server - при подключении более 15 пользователей работа стала невозможной - блокировки мешают друг другу, скорость работы очень низкая, загрузка всех процессоров сервера - 100%, программы работают еле-еле... Dead Lock каждую секунду - попытка понять его возникновения приводит что нахожу цепь блокирововок из штук 200 кверей... Замена того же кода и тех же самых кверей на ADO увеличила скорость выполнения кверей примерно на 3-4 порядка, загрузка процессоров на сервере упала до 20-30%, Dead Lock вообще исчезли... При этом я не менял ни кверей ни индексов ни структуры таблиц... Впрочем при количестве пользователей до 5 - существенной разницы между BDE и ADO нет


Ты имеешь в виду, что у тебя была трехзвенка ? И проблемы были в средней части ?

PM MAIL WWW ICQ   Вверх
Vit
Дата 6.3.2003, 02:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Цитата(NoName @ 5.3.2003, 09:08)
Для баз с кол-вом записей менее 10000 лучше всего использовать ADO (преимущества: скорость, простота работы с ней, недостатки: при кол-ве записей более 10000 существенно замедляется работа с ней), для баз с кол-вом записей более 10000 лучше всего подходит Interbase (теже преимущества что и у ADO + использование транзакций, больше возможностей при работе с сетью, безопастность, использование триггеров и встроенных процедур) У каждого движка баз данных свои преимущества и недостатки, их выбор должен быть основан на конкретной поставленной задаче

Не знаю о чём Вы говорите. Транзакции 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
PM MAIL WWW ICQ   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0971 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.