Текущий архив: 2005.03.20;
Скачать: CL | DM;
Вниз
Посоветуйте тип баз данных Найти похожие ветки
← →
DelphiN! © (2005-02-11 12:48) [0]Написал программу, на основе баз данных Paradox 7, Всего в программе 7 баз данных. 5 баз будут иметь средний размер по 500 кб. 1-а из баз в среднем может разрастись до 1-го гигабайта. Еще одна база может разрастись до нескольких гегабайт, также в эту базу довольно часто добавляеться новые значения методом Append компонента ClientDataSet(несколько раз в минуту). Программа ведет очень активную работу с маленькими базами(до 500кб). В среднем проводит циклический поиск(методом сравнения строк) в каждой из маленьких баз по 1-му разу в секунду. 2-е большие базы(до 2-х гигабайта) программа использует редко, и только добавляет туда новые значения, не производя поисков. Со всеми базами работаю через компонент TClientDataSet
Так вот когда одна из баз возрастает более чем на 1 мегабайт(в данную базу добавляються новые значения методом Append примерно каждые 30 секунд), программа начинает вылетать и виснуть ...
Что вы можете посоветовать, может Paradox не подходит для больших баз ? Что лучше использовать ? И что может подойти для маленьких, но очень часто используемых баз ?
Заранее благодарен.
← →
Desdechado © (2005-02-11 13:05) [1]1. парадокс для таких объемов точно не предназначен
2. "по 1-му разу в секунду" - значит ли это, что поиск должен отрабатывать быстрее всегда, или это требование на среднее время поиска
3. ClientDataSet Напрямую не работает с парадоксом. Что используется в связке с ним?
4. Похоже, что "раз в 30 с добавление в таблицу" - это что-то реал-таймовое пишется, там очень строгие ограничения обычно. И всякие ширпотребовсие СУБД не подойдут.
Информации для того, чтобы рекомендовать что-то, маловато...
← →
Sergey13 © (2005-02-11 13:22) [2]ИМХО, не паханое поле для улучшения. 8-)
1. База<>таблица.
2. "методом Append" если не нужно одновременное отображение вставленного, то лучше использовать отдельный запрос с параметром.
3.(методом сравнения строк) - это обязательно? Идентификаторы пошустрее будут наверное.
4.
> может Paradox не подходит для больших баз ?
Да уж не самый лучший выбор.
5.
>Что лучше использовать ? И что может подойти для маленьких, но очень часто используемых баз ?
ФБ например.
← →
DelphiN! © (2005-02-11 15:05) [3]
> 2. "по 1-му разу в секунду" - значит ли это, что поиск должен
> отрабатывать быстрее всегда, или это требование на среднее
> время поиска
Это обновление значений ListView по таймеру. Я описался поиск проводиться не раз в секунду, а около 400-т раз в секунду. В базе примерно 200 записей. Поиск проводиться сравнением строк.(Таймер поиска срабатывает 1 раз в секунду, но при одном срабатывании может производиться до 400-т поисков).
В большие базы более 1-го гигабайта нужно с переодичностью в 30 секунд добавлять по 1-му значению. При этом по запросам пользователя нужно производить фильтрацию и вывод данных в Грид.
Данные из базы данных в дальнейшем планируется передавать по сети.
Произвожу поиск методом сравнения строк, так как с базами работать умею плохо, и не знаю других методов.
Что такое ФБ ? Расшифруйте если не затруднит
← →
Sergey13 © (2005-02-11 15:14) [4]2 [3] DelphiN! © (11.02.05 15:05)
>Что такое ФБ ?
FireBird - Сервер БД, клон InterBase. Текущая версия 1.5.2.
← →
Desdechado © (2005-02-11 15:48) [5][3] - ответа на вопросы не наблюдаю.
Из пояснения понял только, что индексный поиск не используется. Надо использовать. Причем через SQL. Но 400 поисков в секунду - это серьезное ограничение. Чем оно вызвано? Есть ли смысл обновляться каждую секунду? Есть ли смысл обновлять все 400 или достаточно нескольких?
← →
Anatoly Podgoretsky © (2005-02-11 15:57) [6]В базе нет записей, поэтому ничего добавить нельзя.
← →
DSKalugin © (2005-02-11 18:20) [7]Paradox для решения сетевых задач явно не подходит. Тем более на таких объемах, да еще где скорость чтения / записи имеет роль.
Посмотри в сторону MySQL, Firebird. Это те, которые попроще
← →
DelphiN! © (2005-02-12 13:12) [8]А чем отличается MySql от Sql ? Что лучше ?
← →
DSKalugin © (2005-02-12 14:00) [9]MySql - это СУБД (Система управления базами данных),
а Sql - это язык (Structured Query Language), который применяется в этих СУБД
MySql самая простая и быстрая по скорости чтения данных, основное применение нашла в WEB
полезно также ознакомиться с сайтом www.sql.ru
MySql - www.mysql.ru
← →
DelphiN! © (2005-02-13 12:41) [10]Не посоветуете какуюнибудь документацию(для обучения). Использование MySQL в Delphi
← →
DelphiN! © (2005-02-15 12:23) [11]А в чем отличия MSSql и MySql ? Что лучше ?
← →
Sergey13 © (2005-02-15 12:27) [12]2[11] DelphiN! © (15.02.05 12:23)
>А в чем отличия MSSql и MySql ? Что лучше ?
Разница во второй букве. "S" лучше, потому что она заглавная. 8-)
← →
sniknik © (2005-02-15 12:42) [13]> А в чем отличия MSSql и MySql ?
продукты разных производителей, с разным подходом, реализацией, способами хранения/форматами данных,интерфейсами (передача данных), пользовательскими интерфейсами служебных программ ... , разное практически все. обьеденяет только sql, и то в минимуме, только для того чтобы сказать поддержан стандарт t.sql/... (но самом деле и от стандарта отличия находили)
> Что лучше ?
а что лучше гоночный велосипед или горный? (для езды в пустыне... ;о)))
← →
Digitman © (2005-02-15 12:42) [14]
> поиск проводиться .. около 400-т
> раз в секунду
"Абалдеть !"(с)
чуть ли не каждые 2-3 мс слать SELECT-запросы - врагу не пожелаешь результаты работы такого алгоритма ..
> обновление значений ListView по таймеру
это что ж получается - таймер у тебя сигналит с периодом в 2-3 мс, и по каждому сигналу ты делаешь очередной запрос к БД, а рез-ты запроса выводишь в TListView ? Из-за боязни, что юзер упустит какие-то изменения в БД, произошедшие за последние 2-3 мс ?
Так что ли ?
← →
DelphiN! © (2005-02-15 12:57) [15]
>
> [14] Digitman © (15.02.05 12:42)
Нет. Есть база текущих сеансов, в ней храниться время окончания сеанса. Есть таймер, с интервалом в 1-у секунду, при каждом срабатывании таймера перебирается вся таблица пользователей(сейчас 100 человек), и для каждого пользователя ищется его значение в базе сеансов(в базе сеансов может быть значений столько же, сколько и пользователей). Вот и получается, что поисков в базе сеансов = колличеству пользователей, в то время как колличество записей в базе сеансов при максимальной нагрузке = колличеству записей в табилце пользователей. Из этого получаем : колличество стравнений строк = колличество пользователей * на колличество сеансов(при максимальной нагрузке сейчас это 100 * 100)
← →
DelphiN! © (2005-02-15 13:05) [16]А нет, ошибся в последней формулеровке (100 * 100). Она выглядит не так, потаму-что поиск проводиться примерно следующим образом :
i := 0;
b := false;
while (i <= BASA.RecordCount)and(not b) do
begin
Inc(i);
BASE.RecNo := i;
if LCmpStrI(PChar(Base.FieldByName("Field").AsString),PChar(Value))<>0 then
b := true;
end;
if b then
Result := Base.FieldByName("Field").AsString
else
Result := "";
end;
← →
Digitman © (2005-02-15 13:12) [17]и каков же тайный смысл "базы сеансов" ?
← →
Digitman © (2005-02-15 13:16) [18]и как, кстати, насчет транзакций ?
в смысле - юзер, зарегистрированный в "таблице пользователей" некоей базы А, открывает "базу сеансов" В, делает в ней изменения (фиксирующие начало сеанса) и "отваливается" по причинам нечаянного выдергивания уборщицей ТетьГлашей шнурка из розетки ?
← →
Danilka © (2005-02-15 13:20) [19][16] DelphiN! © (15.02.05 13:05)
Ох.
Во-первых, в различных СУБД есть свои средства для доступа к информации о текущих сеансах, пользователе и пользователях.
Во-вторых, об индексах ничего не слышал, разумеется?
Советую для начала книгу почитать по СУБД, прежде чем огороды городить.
Неплохая, прямо для тебя, лежит вот-здесь:
http://www.podgoretsky.com/classics.html
Там есть книга в формате Ворда и ПДФ: "Понимание SQL, Лебедева В.Н., Мартин Грубер".
Затем, когда почитаешь ее, хотя-бы несколько глав, уже можно попытаться представить задачу, и подбирать под нее сервер СУБД.
← →
Digitman © (2005-02-15 13:35) [20]боюсь, автор не различает понятия "таблица" как объект базы данных и собственно "база данных" (возможно, но не обязательно включающая кроме всего прочего и таблицы как объекты) ..
с этого бы и начать ему ..
да с транзакциями подружиться, коль скоро о многопольз. среде речь зашла ..
а не таймеры плодить ..
← →
DelphiN! © (2005-02-15 14:39) [21]
> [20] Digitman © (15.02.05 13:35)
После изменения базы данных кассиром база сразу сохраняется. А без таймеров тут не обойтись, так как никаких событий в базе не происходит, нужно просто обновлять значения ListView-a, по текущим значениям в базе(так как время меняется)
← →
Digitman © (2005-02-15 14:49) [22]
> После изменения базы данных кассиром база сразу сохраняется
что за бред ?
что значит "база сразу сохраняется" ?
у тебя полнейшая каша в голове !
> без таймеров тут не обойтись, так как никаких событий в
> базе не происходит,
а НАХРЕНА какие-то события нужны ?
я так понимаю - "кассирские" события в базе нужны не иначе как бандитам, для того чтобы в ран-тайм отследить внесение некоей суммы куда-то ...
"нормальный" же юзер, "не подверженный влиянию криминала", получив исключение при подтверждении т/акции, и безо всякиз хрЕновых таймеров поймет, что состоянии некоего "аккумулятора" изменилось с момента старта им, изером, т/акции
короче, бросай все нафих и срочно устраняй вопиющие пробелы в своих знаниях в теории/механизмах многопользовательских СУБД
← →
Johnmen © (2005-02-15 14:52) [23]>DelphiN! © (15.02.05 14:39) [21]
А зачем ListView ?
И зачем так часто ?
← →
Digitman © (2005-02-15 14:57) [24]бред сивой кобылы
а если не бред, то задача (сложная !!!) решается реализацией 3-хзвенной арх-ры СУБД
← →
msguns © (2005-02-15 15:20) [25]Не, пацаны, а что, собственно, хотим затолкать в БД ? Базар о каких-то обновлениях, поисках, "сеансах" и т.д. Что за объект такой, где есть такая личность, как "кассир" ?
Похоже, что это магазин ? Или прачечная ? А, может, кинозал ? А если, не дай Бог, бандитская шайка, где после каждого "дела" (которых может быть до 400 в сек) "кассир" выдает братве капусту ?
Откуда дрова-то ? И для кого (чего) ?
← →
msguns © (2005-02-15 15:21) [26]Не, пацаны, а что, собственно, хотим затолкать в БД ? Базар о каких-то обновлениях, поисках, "сеансах" и т.д. Что за объект такой, где есть такая личность, как "кассир" ?
Похоже, что это магазин ? Или прачечная ? А, может, кинозал ? А если, не дай Бог, бандитская шайка, где после каждого "дела" (которых может быть до 400 в сек) "кассир" выдает братве капусту ?
Откуда дрова-то ? И для кого (чего) ?
← →
Digitman © (2005-02-15 15:27) [27]
> msguns © (15.02.05 15:20) [25]
дело темное ..
"Адназначна !"(с) Жир
← →
DelphiN! © (2005-02-15 15:30) [28]Программа управления компьютерным клубом, по типу программы Locker(кто такую знает)
← →
msguns © (2005-02-15 15:36) [29]Ух ты !!! А откуда эта цифра: "400 сравнений в сек" ?
Это типа сервер отслеживает клики гамеров, например, в SC, и, ежели кто-то и протоссов паланул пси-шторму, то админу на экране светится:
Гамер № 123б (РС №20а) шторманул гамера № 07х (РС №13л), в результате чего последний потерял 16 собак, а 4 гидрала уковыляли в ближайший орешник поправлять пошатнувшееся здоровье.
← →
Digitman © (2005-02-15 15:48) [30]
> DelphiN! © (15.02.05 15:30) [28]
ты пашешь огород, на котором сам не знаешь что растет ..
извини уж ..
юросай нафих свои "клубоадминскопрограммерские" потуги и садись штудировать теорию .. без нее все что ты сейчас делаешь выглядит попросту дурью ..
← →
DelphiN! © (2005-02-15 15:57) [31]А как вы предлагаете обновлять время на мониторе кассира, ведь нужно показывать сколько времени на каком компьютере осталось в ListView, а чтобы узнать сколько времени осталось на компьютере скажем под номером 15, нужно найти его сеанс в базе данных сеансов и пересчитать время (отнять текущее время от времени окончания). Вот каждую секунду и обнавляется оставшееся время, деньги, последнее время отклика и много чего еще ... для каждого из 80-ти компьютеров
← →
Desdechado © (2005-02-15 16:11) [32]да все в памяти держать можно. а в базу сбрасывать только конкретные операции типа оплаты и завершения сеанса. остальное прекрасно рассчитывается без обращения к базе.
← →
Desdechado © (2005-02-15 16:12) [33]да все в памяти держать можно. а в базу сбрасывать только конкретные операции типа оплаты и завершения сеанса. остальное прекрасно рассчитывается без обращения к базе.
← →
Johnmen © (2005-02-15 16:13) [34]>DelphiN! © (15.02.05 15:57) [31]
Ну, вобщем, Digitman © уже сказал про бред.
От себя добавлю, что такие системы делаются ПРИНЦИПИАЛЬНО не так.
← →
Digitman © (2005-02-15 16:26) [35]
> как вы предлагаете обновлять время на мониторе кассира
уж точно не ТАК
> нужно показывать сколько времени на каком компьютере осталось
> в ListView
да кассиру ПО КОЛЕНО (!!!!!!!!!!!), ListView у тебя там или ХренВью !!
ему, если уж на то пошло, и ежели он, кассир, не спит и пялится всю свою смену в монитор, важно получить диал.окно, что некий юзер Пупкин прос.ал на сей момент все бабки и нго пора гнать в три шеи !
← →
msguns © (2005-02-15 17:16) [36]>DelphiN! © (15.02.05 15:57) [31]
Юзера, кассиры, листвью, номера, сеансы - все в одну тарелку.
Ты это.. Определись сначала с объектами: что такое "сеанс", "номер" и т.д. Потом набросай схемку "документооборота", т.е. взаимодействие между объектами, какую инфу и как часто они должны друг другу передавать.
В рез-те у тебя должна появиться общая модель информационных потоков. После этого надо "приложить" эту модель к теории Баз Данных.
И только после этого можно приступать к проектированию интерфейса клиент-сервер. Что там будет, листвью или листбокс или хренбокс - это даже не десятое, а стодесятое дело ;)
← →
Johnmen © (2005-02-15 17:22) [37]>msguns © (15.02.05 17:16) [36]
Причём базы данных вообще сбоку, если речь о мониторинге в компьютерном клубе...
← →
msguns © (2005-02-15 17:28) [38]>Johnmen © (15.02.05 17:22) [37]
>Причём базы данных вообще сбоку, если речь о мониторинге в компьютерном клубе...
Нет, Жень, не совсем так. Хранить надо все данные о "сеансах" за достаточно длительное время. Хотя бы для той же бухгалтерии.
← →
Johnmen © (2005-02-15 17:33) [39]>msguns © (15.02.05 17:28) [38]
Под "сбоку", я имел в виду именно хранение.
Но ведь это не основное в данной системе. Хотя бухи, м.б., думают иначе...:)
← →
Sergeich (2005-02-15 17:36) [40]2DelphiN!
есть предложение записывать результаты поиска(100*100) в базу, чтобы быстрее получить вожделенные гигабайты. База такого учреждения, тем более на парадохе не потянет больше 10M. И то к тому времени хозяин уже чебуреками будет торговать или шкурками черепах.
← →
Anatoly Podgoretsky © (2005-02-15 19:53) [41]Шкурой программиста.
← →
Anatoly Podgoretsky © (2005-02-15 19:54) [42]msguns © (15.02.05 17:28) [38]
А это значит минимум 7 лет.
← →
Eraser © (2005-02-15 22:15) [43]DelphiN! ©
А чем ClubAdmin плох?
← →
DelphiN! © (2005-02-16 06:24) [44]
> [43] Eraser © (15.02.05 22:15)
Тем что его нельзя изменить под вкус организации. Сейчас моя система работает на 80-ти компьютеров одного из клубов, и ее результативность гораздо выше прежней системы(Locker). Например удалось избежать воровства среди кассиров, а также настроитьпод организацию много особенностей
← →
DelphiN! © (2005-02-16 07:18) [45]
> [42] Anatoly Podgoretsky © (15.02.05 19:54)
> msguns © (15.02.05 17:28) [38]
> А это значит минимум 7 лет.
А если компьютеров более 1000-и (сеть клубов с единой базой)
← →
Anatoly Podgoretsky © (2005-02-16 07:43) [46]Сроки зранения бухгалтерских документов не зависят от количества компьютеров.
← →
DelphiN! © (2005-02-16 07:45) [47]Можно поинтересоваться, если просто записывать в базу новые значения, какой максимальный объем может выдержать база на сервере MySQL ?
← →
Anatoly Podgoretsky © (2005-02-16 09:32) [48]MySQL это куча разных форматов под одним названием, а ты какой используешь. Вообще то спецификации открыты практически всем.
← →
DelphiN! © (2005-02-16 10:02) [49]Не подскажите какуюнибудь статью, по созданию базы на сервере MySQL, и работы с этой базой в Делфи, вообще мне главное создать эту базу на MySQL сервере
← →
Danilka © (2005-02-16 10:12) [50][49] DelphiN! © (16.02.05 10:02)
Вообще, из всего вышеописаного неясно, писать в базу ты будешь одним соединением, или несколькими, ты только написал, что "в эту базу довольно часто добавляеться новые значения".
Дело в том, что, если не ошибаюсь, в MySQL нет транзакций, а значит, чем больше количество пишущих соединений, тем больше вероятность того, что база начнет разваливаться.
MySQL больше всего подходит для интернет приложений, когда в основном все читают, а пишут редко.
Вобщем, лучше взять нормальный сервак. Впрочем, все это ИМХО.
← →
DelphiN! © (2005-02-16 10:17) [51]Восновном будет 1-о соединение, но иногда сервер администратора будет коннектится к кассе для просмотра статистик в базе данных. Это 1-о соединение будет писать в базу примерно около 1-го раза в минуту, и считывать данные очень часто (много раз в секунду)
---
← →
DelphiN! © (2005-02-16 10:21) [52]
> [50] Danilka © (16.02.05 10:12)
А какой "нормальный" сервер вы имеете ввиду ?
← →
Anatoly Podgoretsky © (2005-02-16 10:26) [53]Как минимум поддерживающий трансакции, тригера, хранимые процедуры, ссылочную целостность.
То есть любой промышленный сервер.
← →
DelphiN! © (2005-02-16 10:30) [54]А Interbase подойдет ? Насколько он быср, для насколько больших объемов БД он расчитан ? Насколько он надежен ?
← →
Sergey13 © (2005-02-16 10:34) [55]2 DelphiN! ©
Почему бы тебе просто не выводить в грид запрос, показывающий разницу между текущим временем и временем окончания сеанса (если он заранее известен). Запрос обновлять максимум раз в минуту, чаще - это глупость, ИМХО. Запрос отсортировать по возрастанию этой разницы. Для нагладности грид еще можно раскрасить. Типа разница отрицательная (надо отключать) - красное, меньше 5 минут (надо предупредить юзера, что время на исходе) - желтая. Все просто и наглядно.
← →
Anatoly Podgoretsky © (2005-02-16 10:34) [56]Ответ только на второй вопрос, известны базы в 980 гб
← →
Danilka © (2005-02-16 10:42) [57][54] DelphiN! © (16.02.05 10:30)
Лучше использовать его бесплатный клон FireBird, по IB и его клонам есть много русскоязычной документации, также, говорят книга хорошая "Мир Interbase".
В любом случае, для работы с серверами СУБД лучше начать с теории, но об этом тебе уже неоднократно говорили. Глядишь, и пересмотрел-бы свою задачу, под более оптимальное решение.
[55] Sergey13 © (16.02.05 10:34)
Кажись, пока безполезно. :) Не слышет он, думаю, потому-что пока не понимает что ему говорят, т.к. нет теории, путает базы с таблицами.
← →
DelphiN! © (2005-02-16 10:47) [58]
> [55] Sergey13 © (16.02.05 10:34)
У меня это и так делается(в таблице сеансов ищется сеанс компьютера I и на экран выводиться разница и еще всякая мелочь ...). Большая база нужна мне для статистики программ(которые какой-то компьютер в какое-то время запускал когда либо). В день данная база возрастает на 1мб. Также база кассы возрастает на 1мб в неделю(это только сейчас, позже нагрузка увеличиться). База сеансов - маленькая(при максимальной нагрузке равна колличеству компьютеров). Единственное что мне требуется от базы сеансов, так это быстрый алгоритм поиска в ней, а от базы кассы и статистики программ - надежность. Также необходимо применять к базам кассы и статистики фильтры(чтобы они работали быстро), для просмотра данных администратором. База кассы и программ должна быть доступна для изменения и чтения по сети(другими серверами касс)
Какой сервер баз данных мне выбрать для больших сетевых баз, где скорость не главное ? Базу сеансов наверное оставлю - Paradox, только изменю алгоритм поиска
>
> [56] Anatoly Podgoretsky © (16.02.05 10:34)
> Ответ только на второй вопрос, известны базы в 980 гб
Всмысле базы Interbase в 980 ГБ ?
← →
Sergeich (2005-02-16 11:31) [59]
> DelphiN! © (16.02.05 10:47) [58]
Откуда такие объемы информации для такой тривиальной задачи?
уважаемый, вам же уже объяснили, что сначала книги читаются(можно для разнообразия в институте поучиться), а потом принимаются ваять. Тем более системы, где надо учитывать деньги - вам с таким дилетантским подходом там поверьте делать нечего. По крайней мере пока.
← →
Anatoly Podgoretsky © (2005-02-16 11:47) [60]DelphiN! © (16.02.05 10:47) [58]
Выбери MS SQL соответствующую радакцию, начиная с ЕЕ размер баз может быть до одного пентабайтя. Или Оракл тоже может работать с подобными размерами.
Базу сеансов наверное оставлю - Paradox правильной дорогой шагаете, в могилу.
А размер 365 м, в год ничтожный размер. Кроме того размер базы не главное, а главное надежность и целостность данных.
Всмысле базы Interbase в 980 ГБ ? Да в этом смысле, но только молчу на каком это железе достигнуто, но это не PC
← →
DelphiN! © (2005-02-16 11:54) [61]А чем плох Interbase(ФБ) ?
← →
Arm79 © (2005-02-16 12:23) [62]2 DelphiN! © (16.02.05 11:54) [61]
Да уж...
СУБД - IB FireBird или MSDE
Так, чтобы не сильно менять уже готовую(как я понял) программу, предлагаю хранить времена окончания сеансов(надеюсь, в вашей интерпретации я правильно выражаюсь) в памяти ( у вас же есть clientdataset? Или используйте просто список). Вы же можете отсортировать эти данные в порядке возрастания времени окончания? А в базы предлагаю в основном писать. Чтение порядка 400 раз в секунду - полное сумасшедствие
← →
Desdechado © (2005-02-16 13:35) [63]имхо, бесполезно что-то ему объяснять, он все равно не слушает, не слышит и не понимает
типичный воинствующий дилетант, не ясно только, зачем он в форум обратился...
← →
msguns © (2005-02-16 14:48) [64]>DelphiN! © (16.02.05 10:17) [51]
>Восновном будет 1-о соединение, но иногда сервер администратора будет коннектится к кассе для просмотра статистик в базе данных. Это 1-о соединение будет писать в базу примерно около 1-го раза в минуту, и считывать данные очень часто (много раз в секунду)
мдя..
Молчел, ЧТО ты понимаешь под этими словами: "сервер", "коннектится", "просмотр" и т.д. ?
КАК СЕРВЕР МОЖЕТ К КОМУ-ТО КОННЕКТИТЬСЯ ? Это типа гора пошагает к Магомету ?
И зачем ему куда-то коннектиться, чтобы что-то где-то прочитать ? Ты что-нибудь по клиент-серверным системам почитай для начала, а ?
И вообще определись, что, куда и, главное, ЗАЧЕМ, ты собираешься перевозить, прежде чем выбирать грузовик.
← →
dreamse (2005-02-16 23:15) [65]Да уж ... трудно писать программу для СЕТИ компьютерных клубов вообще не имея навыков в програмировании ( а вернее логического мышления ) а ещё тружнее когда задаёшь вопрос и читаешь только то что тебе интересно а не то что советуют.
Delphin либо учи , либо предоставь это дело професионалам !
← →
DelphiN! © (2005-02-17 10:29) [66]Что вы привязались комне, с этим частым обращение к базе, если я не отвечаю по этому поводу, это совсем не значит, что я оставлю все как есть ! Я уже давно переделал это, и сейчас к базе обращаюсь крайне редко, сейчас меня больше интересует стабильный тип баз данных, чтобы он не вылетал при больших базах, работал быстро, и был сетевым. Пока я переделал большие базы под ACCESS. Этот тип хоть и не сетевой, но вроде как стабильный(это временное решение, а перенос с одного типа на другой всего проекта 5-ти минутной делло, так как все взаимодействие с базой идет через небольшое колличество процедур). Так вот теперь мне нужно найти тип баз данных, который сообтветствует следующим требованиям :
- 1) Сетевой
- 2) Надежный
- 3) Быстрый
Требования упорядочены по их важности
Заранее благодарен
← →
DelphiN! © (2005-02-17 10:33) [67]
> [65] dreamse (16.02.05 23:15)
А ты бы сначала орфографию подправил, а потом уже о профессионализме говорил
← →
Sergey13 © (2005-02-17 10:41) [68]2 [66] DelphiN! © (17.02.05 10:29)
>Я уже давно переделал это
Откуда это известно другим, , если ты не отвечаешь по этому поводу?
> Пока я переделал большие базы под ACCESS.
Определись наконец с терминами. База<>таблица. Иметь одновременно несколько типов баз - это самое плохое решение.
>Так вот теперь мне нужно найти тип баз данных, который сообтветствует следующим требованиям :
Тебе две уже предложили. Ты их отверг? Почему?
Ну посмотри еще Оракл и МССКЛ. 8-)
← →
DelphiN! © (2005-02-17 10:56) [69]
> [68] Sergey13 © (17.02.05 10:41)
> Тебе две уже предложили. Ты их отверг? Почему?
MySQL и MSSql я отверг, та как мне сказали, что эти серверы восновном для WEB, и не расчитаны на частое чтение и запись, а у меня запись примерно 1 раз в 5 секунд(в среднем) и чтение около 1-го раза в секунду(из маленькой базы)
А о сервере Interbase я еще ничего незнаю, поэтому его еще и не выбрал. В Интернете, я ненашел описания данного сервера
> >Я уже давно переделал это
> Откуда это известно другим, , если ты не отвечаешь по этому
> поводу?
Ну если не отвечаю, значит мне это неинтересно, или я уже решил проблемму, я ведь задаю другие вопросы.
Вобщем если я неправ, прошу прощения
← →
Sergey13 © (2005-02-17 11:05) [70]2[69] DelphiN! © (17.02.05 10:56)
> MySQL и MSSql я отверг,
Таки я подчеркну, что эти двое абсолютно разные вещи. Абсолютно.
> та как мне сказали, что эти серверы восновном для WEB
См. выше. Первый да, второй нет.
>, и не расчитаны на частое чтение и запись, а у меня запись примерно 1 раз в 5 секунд(в среднем) и чтение около 1-го раза в секунду(из маленькой базы)
Во первых не надо думать, что решение для комп.клуба это супер программа требующая супер средств. Уж если она как то работала на Парадоксе, то любая серверная БД ее точно протащит. Во вторых, и я и другие тебе уже писали, что так часто обновлять - это изврат. У твоего кассира реакция (в смысле время от получения информации до момента когда он начнет что-либо делать) намного хуже чем 5 секунд.
> В Интернете, я ненашел описания данного сервера
Это очень странно. Ну сходи на ibase.ru
← →
DelphiN! © (2005-02-17 11:08) [71]
> [70] Sergey13 © (17.02.05 11:05)
А что бы вы выбрали в моей ситуации ? И почему ?
← →
DelphiN! © (2005-02-17 11:12) [72]
> Во вторых, и я и другие тебе уже писали, что так часто обновлять
> - это изврат. У твоего кассира реакция (в смысле время от
> получения информации до момента когда он начнет что-либо
> делать) намного хуже чем 5 секунд
В прогремме время обновления я сделал настраиваемое в опциях, если кому-то что-то не понравится, то изменят сами, позже я найду оптимальное время обновления, и проставлю его поумолчанию, пока меня устраивает данный интервал
← →
msguns © (2005-02-17 11:14) [73]>DelphiN! © (17.02.05 10:56) [69]
>MSSql я отверг, та как мне сказали, что эти серверы восновном для WEB
Нет, скала годится не только для вебов ;))
Если вот это твое
запись примерно 1 раз в 5 секунд(в среднем) и чтение около 1-го раза в секунду(из маленькой базы)
является единственным критерием выбора типа БД, то сойдет даже обыкновенный текстовый файл или типизированный. И, ессно, любая локалка, в т.ч. облюбованный тобою акцес.
Для выбора БД обычно используется другие критерии: кол-во одновременных подключений, оценочное среднемаксимальное кол-во записей в таблицах, скорость доступа к данным, надежность сохранности данных, топология (взаимосвязь объектов) БД, пропускная способность каналов связи, сложность алгоритмов выборок и корректировок объектов БД, необходимость фунционального разделения операций на "серверные" и "клиентские", концепция разработки интерфейсов пользователя с БД ("клиентов") и т.д.
Обо все этом от тебя так ничего и не было.
← →
Sergey13 © (2005-02-17 11:22) [74]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) Это, ИМХО, более рационально.
← →
DelphiN! © (2005-02-17 11:30) [75]кол-во одновременных подключений - скажем около 5-ти
оценочное среднемаксимальное кол-во записей в таблицах - допустим 6307200 записей (посчитал приблизительно). В самой большой базе. Приблизительно за год(каждый год базу можно убирать в архив)
скорость доступа к данным - чем выше тем лучше
надежность сохранности данных - чем выше тем лучше
топология (взаимосвязь объектов) БД - если это связь таблиц, то ненадо
пропускная способность каналов связи - пропускная способность каналов связи 10 мегабит
сложность алгоритмов выборок и корректировок объектов БД - опирации пока у меня все легкие :)
необходимость фунционального разделения операций на "серверные" и "клиентские" - все опирации будут производиться на сервере, клиент будет получать только готовые данные
концепция разработки интерфейсов пользователя с БД ("клиентов") - клиент коннектится к серверу передает ему запрос, и получает соответствующие запросу данные. Тоесть просто обычные проверки кассы и ряда других баз с центрального оффиса.
← →
Sergey13 © (2005-02-17 11:37) [76]2[75] DelphiN! © (17.02.05 11:30)
> В самой большой базе.
Ну ты задрал уже таблицу базой обзывать. 8-) Почему ты свою прогу процедурой не обзываешь?
← →
msguns © (2005-02-17 11:48) [77]Фарь ИМХО. Причем однозначно. Хотя бы потому, что не требует титанических усилий по администрированию и бесплатна. Легка в инсталляции, запуске и подключениях (в отличие от скалы или того же оракла).
Хотя, если нет связей между таблицами (т.е.соответсвенно нет и сложных алгоритмов корректировок данных, для чего, собственно, и необходимы транзакции), то можно юзать и майскул - говорят, шустрый он до неприличности ;)
← →
Sergey13 © (2005-02-17 11:53) [78]2[77] msguns © (17.02.05 11:48)
>Хотя, если нет связей между таблицами
Мне так кажется, что это ошибочное мнение автора, основанное на незнании теории, а не факт. 8-)
← →
DelphiN! © (2005-02-17 12:39) [79]Все, купил себе книжку "Введение в Interbase". Почитаю, пока сделаю на FireBird. Потом возьму ченить почитать про MS SQL, и если окажеться лучше, переведу.
Всем огромное спасибо за помошь !
Страницы: 1 2 вся ветка
Текущий архив: 2005.03.20;
Скачать: CL | DM;
Память: 0.72 MB
Время: 0.052 c