![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Посоветуйте тип баз данных [D6, Win2k, WinXP]
DelphiN! © (2005-02-11 12:48:00)Написал программу, на основе баз данных Paradox 7, Всего в программе 7 баз данных. 5 баз будут иметь средний размер по 500 кб. 1-а из баз в среднем может разрастись до 1-го гигабайта. Еще одна база может разрастись до нескольких гегабайт, также в эту базу довольно часто добавляеться новые значения методом Append компонента ClientDataSet(несколько раз в минуту). Программа ведет очень активную работу с маленькими базами(до 500кб). В среднем проводит циклический поиск(методом сравнения строк) в каждой из маленьких баз по 1-му разу в секунду. 2-е большие базы(до 2-х гигабайта) программа использует редко, и только добавляет туда новые значения, не производя поисков. Со всеми базами работаю через компонент TClientDataSet
Так вот когда одна из баз возрастает более чем на 1 мегабайт(в данную базу добавляються новые значения методом Append примерно каждые 30 секунд), программа начинает вылетать и виснуть ...
Что вы можете посоветовать, может Paradox не подходит для больших баз ? Что лучше использовать ? И что может подойти для маленьких, но очень часто используемых баз ?
Заранее благодарен.
DelphiN! (2005-02-17 12:39:00) [1]Все, купил себе книжку "Введение в Interbase". Почитаю, пока сделаю на FireBird. Потом возьму ченить почитать про MS SQL, и если окажеться лучше, переведу.
Всем огромное спасибо за помошь !
Sergey13 (2005-02-17 11:53:00) [2]2[77] msguns © (17.02.05 11:48)
>Хотя, если нет связей между таблицами
Мне так кажется, что это ошибочное мнение автора, основанное на незнании теории, а не факт. 8-)
msguns (2005-02-17 11:48:00) [3]Фарь ИМХО. Причем однозначно. Хотя бы потому, что не требует титанических усилий по администрированию и бесплатна. Легка в инсталляции, запуске и подключениях (в отличие от скалы или того же оракла).
Хотя, если нет связей между таблицами (т.е.соответсвенно нет и сложных алгоритмов корректировок данных, для чего, собственно, и необходимы транзакции), то можно юзать и майскул - говорят, шустрый он до неприличности ;)
Sergey13 (2005-02-17 11:37:00) [4]2[75] DelphiN! © (17.02.05 11:30)
> В самой большой базе.
Ну ты задрал уже таблицу базой обзывать. 8-) Почему ты свою прогу процедурой не обзываешь?
DelphiN! (2005-02-17 11:30:00) [5]кол-во одновременных подключений - скажем около 5-ти
оценочное среднемаксимальное кол-во записей в таблицах - допустим 6307200 записей (посчитал приблизительно). В самой большой базе. Приблизительно за год(каждый год базу можно убирать в архив)
скорость доступа к данным - чем выше тем лучше
надежность сохранности данных - чем выше тем лучше
топология (взаимосвязь объектов) БД - если это связь таблиц, то ненадо
пропускная способность каналов связи - пропускная способность каналов связи 10 мегабит
сложность алгоритмов выборок и корректировок объектов БД - опирации пока у меня все легкие :)
необходимость фунционального разделения операций на "серверные" и "клиентские" - все опирации будут производиться на сервере, клиент будет получать только готовые данные
концепция разработки интерфейсов пользователя с БД ("клиентов") - клиент коннектится к серверу передает ему запрос, и получает соответствующие запросу данные. Тоесть просто обычные проверки кассы и ряда других баз с центрального оффиса.
Sergey13 (2005-02-17 11:22:00) [6]2[71] DelphiN! © (17.02.05 11:08)
> А что бы вы выбрали в моей ситуации ? И почему ?
Я бы выбрал FireBird. Потому что
1. Я его немного знаю (это главное)
2. Он бесплатен
3. Он надежен
4. Он достаточно быстр, если руки не особо кривые (при кривых даже Оракл не спасет)
5. Он (практически) не требует администрирования
6. Он развивается
7. Он без изменений программы может работать и локально и в сети
8. Он не требователен к ресурсам железа
9. Он многоплатформенный
10. Он нормальныйсервер БД с поддержкой всех серверных дел (транзакции, ХП, УДФ и т.д.)
11. Мне лень писать еще какой он хороший 8-) Все подробности на ibase.ru
[72] DelphiN! © (17.02.05 11:12)
> Во вторых, и я и другие тебе уже писали, что так часто обновлять
> - это изврат. У твоего кассира реакция (в смысле время от
> получения информации до момента когда он начнет что-либо
> делать) намного хуже чем 5 секунд
>В прогремме время обновления я сделал настраиваемое в опциях, если кому-то что-то не понравится
Это уже лучше. Но ты еще объясни пользователю как этим пользоваться. И настоятельно рекомендую оповещать юзера о приближающемся событии заранее. [55] Sergey13 © (16.02.05 10:34) Это, ИМХО, более рационально.
msguns (2005-02-17 11:14:00) [7]>DelphiN! © (17.02.05 10:56) [69]
>MSSql я отверг, та как мне сказали, что эти серверы восновном для WEB
Нет, скала годится не только для вебов ;))
Если вот это твое
запись примерно 1 раз в 5 секунд(в среднем) и чтение около 1-го раза в секунду(из маленькой базы)
является единственнымкритерием выбора типа БД, то сойдет даже обыкновенный текстовый файл или типизированный. И, ессно, любая локалка, в т.ч. облюбованный тобою акцес.
Для выбора БД обычно используется другие критерии: кол-во одновременных подключений, оценочное среднемаксимальное кол-во записей в таблицах, скорость доступа к данным, надежность сохранности данных, топология (взаимосвязь объектов) БД, пропускная способность каналов связи, сложность алгоритмов выборок и корректировок объектов БД, необходимость фунционального разделения операций на "серверные" и "клиентские", концепция разработки интерфейсов пользователя с БД ("клиентов") и т.д.
Обо все этом от тебя так ничего и не было.
DelphiN! (2005-02-17 11:12:00) [8]
> Во вторых, и я и другие тебе уже писали, что так часто обновлять
> - это изврат. У твоего кассира реакция (в смысле время от
> получения информации до момента когда он начнет что-либо
> делать) намного хуже чем 5 секунд
В прогремме время обновления я сделал настраиваемое в опциях, если кому-то что-то не понравится, то изменят сами, позже я найду оптимальное время обновления, и проставлю его поумолчанию, пока меня устраивает данный интервал
DelphiN! (2005-02-17 11:08:00) [9]
> [70] Sergey13 © (17.02.05 11:05)
А что бы вы выбрали в моей ситуации ? И почему ?
Sergey13 (2005-02-17 11:05:00) [10]2[69] DelphiN! © (17.02.05 10:56)
> MySQL и MSSql я отверг,
Таки я подчеркну, что эти двое абсолютно разные вещи. Абсолютно.
> та как мне сказали, что эти серверы восновном для WEB
См. выше. Первый да, второй нет.
>, и не расчитаны на частое чтение и запись, а у меня запись примерно 1 раз в 5 секунд(в среднем) и чтение около 1-го раза в секунду(из маленькой базы)
Во первых не надо думать, что решение для комп.клуба это супер программа требующая супер средств. Уж если она как то работала на Парадоксе, то любая серверная БД ее точно протащит. Во вторых, и я и другие тебе уже писали, что так часто обновлять - это изврат. У твоего кассира реакция (в смысле время от получения информации до момента когда он начнет что-либо делать) намногохуже чем 5 секунд.
> В Интернете, я ненашел описания данного сервера
Это очень странно. Ну сходи на ibase.ru
DelphiN! (2005-02-17 10:56:00) [11]
> [68] Sergey13 © (17.02.05 10:41)
> Тебе две уже предложили. Ты их отверг? Почему?
MySQL и MSSql я отверг, та как мне сказали, что эти серверы восновном для WEB, и не расчитаны на частое чтение и запись, а у меня запись примерно 1 раз в 5 секунд(в среднем) и чтение около 1-го раза в секунду(из маленькой базы)
А о сервере Interbase я еще ничего незнаю, поэтому его еще и не выбрал. В Интернете, я ненашел описания данного сервера
> >Я уже давно переделал это
> Откуда это известно другим, , если ты не отвечаешь по этому
> поводу?
Ну если не отвечаю, значит мне это неинтересно, или я уже решил проблемму, я ведь задаю другие вопросы.
Вобщем если я неправ, прошу прощения
Sergey13 (2005-02-17 10:41:00) [12]2 [66] DelphiN! © (17.02.05 10:29)
>Я уже давно переделал это
Откуда это известно другим, , если ты не отвечаешь по этому поводу?
> Пока я переделал большие базы под ACCESS.
Определись наконец с терминами. База<>таблица. Иметь одновременно несколько типов баз - это самое плохое решение.
>Так вот теперь мне нужно найти тип баз данных, который сообтветствует следующим требованиям :
Тебе две уже предложили. Ты их отверг? Почему?
Ну посмотри еще Оракл и МССКЛ. 8-)
DelphiN! (2005-02-17 10:33:00) [13]
> [65] dreamse (16.02.05 23:15)
А ты бы сначала орфографию подправил, а потом уже о профессионализме говорил
DelphiN! (2005-02-17 10:29:00) [14]Что вы привязались комне, с этим частым обращение к базе, если я не отвечаю по этому поводу, это совсем не значит, что я оставлю все как есть ! Я уже давно переделал это, и сейчас к базе обращаюсь крайне редко, сейчас меня больше интересует стабильный тип баз данных, чтобы он не вылетал при больших базах, работал быстро, и был сетевым. Пока я переделал большие базы под ACCESS. Этот тип хоть и не сетевой, но вроде как стабильный(это временное решение, а перенос с одного типа на другой всего проекта 5-ти минутной делло, так как все взаимодействие с базой идет через небольшое колличество процедур). Так вот теперь мне нужно найти тип баз данных, который сообтветствует следующим требованиям :
- 1) Сетевой
- 2) Надежный
- 3) Быстрый
Требования упорядочены по их важности
Заранее благодарен
dreamse (2005-02-16 23:15:00) [15]Да уж ... трудно писать программу для СЕТИ компьютерных клубов вообще не имея навыков в програмировании ( а вернее логического мышления ) а ещё тружнее когда задаёшь вопрос и читаешь только то что тебе интересно а не то что советуют.
Delphin либо учи , либо предоставь это дело професионалам !
msguns (2005-02-16 14:48:00) [16]>DelphiN! © (16.02.05 10:17) [51]
>Восновном будет 1-о соединение, но иногда сервер администратора будет коннектится к кассе для просмотра статистик в базе данных. Это 1-о соединение будет писать в базу примерно около 1-го раза в минуту, и считывать данные очень часто (много раз в секунду)
мдя..
Молчел, ЧТО ты понимаешь под этими словами: "сервер", "коннектится", "просмотр" и т.д. ?
КАК СЕРВЕР МОЖЕТ К КОМУ-ТО КОННЕКТИТЬСЯ ? Это типа гора пошагает к Магомету ?
И зачем ему куда-то коннектиться, чтобы что-то где-то прочитать ? Ты что-нибудь по клиент-серверным системам почитай для начала, а ?
И вообще определись, что, куда и, главное, ЗАЧЕМ, ты собираешься перевозить, прежде чем выбирать грузовик.
Desdechado (2005-02-16 13:35:00) [17]имхо, бесполезно что-то ему объяснять, он все равно не слушает, не слышит и не понимает
типичный воинствующий дилетант, не ясно только, зачем он в форум обратился...
Arm79 (2005-02-16 12:23:00) [18]2 DelphiN! © (16.02.05 11:54) [61]
Да уж...
СУБД - IB FireBird или MSDE
Так, чтобы не сильно менять уже готовую(как я понял) программу, предлагаю хранить времена окончания сеансов(надеюсь, в вашей интерпретации я правильно выражаюсь) в памяти ( у вас же есть clientdataset? Или используйте просто список). Вы же можете отсортировать эти данные в порядке возрастания времени окончания? А в базы предлагаю в основном писать. Чтение порядка 400 раз в секунду - полное сумасшедствие
DelphiN! (2005-02-16 11:54:00) [19]А чем плох Interbase(ФБ) ?
Anatoly Podgoretsky (2005-02-16 11:47:00) [20]DelphiN! © (16.02.05 10:47) [58]
Выбери MS SQL соответствующую радакцию, начиная с ЕЕ размер баз может быть до одного пентабайтя. Или Оракл тоже может работать с подобными размерами.
Базу сеансов наверное оставлю - Paradoxправильной дорогой шагаете, в могилу.
А размер 365 м, в год ничтожный размер. Кроме того размер базы не главное, а главное надежность и целостность данных.
Всмысле базы Interbase в 980 ГБ ?Да в этом смысле, но только молчу на каком это железе достигнуто, но это не PC