![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Движок базы данных
Анонимщик © (2004-02-02 17:19:00)
Кто подскажет движок базы данных, который бы позвоялял:
1. Хранить все данные в памяти.
2. Имел бы триггеры и хранимые процедуры.
3. Давал возможность накладывать первичные/вторичные индексы.
4. Не был блокировочником.
5. Позволял бы многопользовательский доступ, причем один экземпляр для чтения и записи, остальные - только для чтения.
asp (2004-02-03 11:52:00) [21]
Анонимщик © (03.02.04 11:21) [24]> Ввиду нестандартности придется.
Каверзный вопрос по поводу отсутствия транзакций: а если пользователь, наложивший блокировку аварийно вывалится?
IMHO, критерий незаписи на диск совершенно напрасен. Как уже писали, СУБД поддерживают кэширование таблиц.
Анонимщик (2004-02-03 11:50:00) [22]
Sandman25
Ну, это не то чтоб совсем dirty read, но, скажем так, поскольку транзакций нет, то и подтверждать нечего. Впрочем, если настаиваешь, что это именно грязное чтение, то по смыслу - да.
Digitman
А что это, мы уже все-таки начали обсуждать? Зачем это - в орешник и все дела.
Romkin
Согласен, что СУБД здесь, может и не нужна. Но! Во-первых, в другую ветку такие вопросы задавать, вроде, не стоит. Во-вторых, мне-то, скорее всего, придется структуру переделывать и экспериментировать. Хотя, конечно, идеальный вариант - библиотека с указанными тобой функциями. И где оно, да чтоб удобство было? В этом и вопрос, собственно. А что касается SQL - то это, может, и необязательно, но лучше бы было, если не SQL, то какой-нибудь другой макроязык.
Romkin (2004-02-03 11:34:00) [23]
Тебе не нужна СУБД. Небольшой сервер, со списками или другими структурами. Thread safe. Без SQL, увы, придется обойтись :)
Digitman (2004-02-03 11:33:00) [24]
> Анонимщик © (03.02.04 11:12) [22]
и какое же определение ты сам даешь механизму работы файловой системы ? и почему не упоминаешь, какую ФС имеешь ввиду ? NTFS действует по иному нежели FAT - ее работа в ряде ситуаций сродни версионнику ..
Sandman25 (2004-02-03 11:24:00) [25]
[24] Анонимщик © (03.02.04 11:21)
Это называется, подходит блокировочник с возможностью отключения блокировки (dirty read).
Анонимщик (2004-02-03 11:21:00) [26]
Я сказал ведь, один пишет - остальные только читают. О транзакциях тоже было. Какие еще вопросы? От вас всегда нужно отбиваться?
Sandman25 (2004-02-03 11:16:00) [27]
В общем, Анонимщику нужна СУБД без транзакций. Кто последний записал, тот и молодец.
Анонимщик (2004-02-03 11:12:00) [28]
Открой любой файл для редактирования и подумай - файловая система его блокирует или версионит.
Digitman (2004-02-03 11:05:00) [29]
> Анонимщик © (03.02.04 10:59) [20]
> Знаю.
просвети уж нас, тундру беспросветную, о секретном третьем варианте ?
Анонимщик (2004-02-03 10:59:00) [30]
Знаешь еще способы кроме версионников и блокировочников?
Знаю.
Deniz (2004-02-03 09:57:00) [31]
В орешник :)
Sergey_Masloff (2004-02-02 20:32:00) [32]
Анонимщик © (02.02.04 18:29) [15]
>2. Ручками - проблема;
ну это мы поняли
>зачем огород городить на том, что должно быть написано и без >меня. Поменяю завтра структуру - переписывать? Кроме того, >динамических массивов будет недостаточно, нужны будут еще >двоичные деревья, связные списки, возможно, и, возможно, хеш->таблицы и прочая хрень. Впрочем, ладно, не вам ведь писать, оно >и советовать вроде проще.
отмазки не катят
>3. Не FireBird, мне не нужен версионник, это точно.
Знаешь еще способы кроме версионников и блокировочников?
>Так что ответа нет.
Ответ есть. Если бы ты так не пыжился то нашел бы его давно и не парил людям мозги. Твою проблему решит практически любой сервер СУБД, уж ORACLE и MSSQL точно, я думаю и в FB уже убрали излишнюю экономию оперативки. При наличии достаточного объема памяти ВСЕ данные будут сидеть в кеше. АБСОЛЮТНО никакого оверхеда связанного с записью на диск в данном случае не будет.
>Я же сказал: в памяти и не блокировочник
ты можешь говорить что угодно. Все эти разговоры происходят из незнания предмета. Точка.
Anatoly Podgoretsky (2004-02-02 20:12:00) [33]
MV (02.02.04 18:31) [16]
Промежуточник
MV (2004-02-02 18:31:00) [34]
Анонимщик © (02.02.04 17:19)
4. Не был блокировочником.
Анонимщик © (02.02.04 18:29) [15]
3. Не FireBird, мне не нужен версионник, это точно.
Класс.
Удачи!
Анонимщик (2004-02-02 18:29:00) [35]
1. Нет ничего секретного.
2. Ручками - проблема; зачем огород городить на том, что должно быть написано и без меня. Поменяю завтра структуру - переписывать? Кроме того, динамических массивов будет недостаточно, нужны будут еще двоичные деревья, связные списки, возможно, и, возможно, хеш-таблицы и прочая хрень. Впрочем, ладно, не вам ведь писать, оно и советовать вроде проще.
3. Не FireBird, мне не нужен версионник, это точно.
Так что ответа нет.
Ладно, спасибо и на том.
MV (2004-02-02 18:21:00) [36]
Джулиан Бакнелл. "Фундаментальные алгоритмы и структуры данных в Дельфи". Расписано все с примерами.
Создаем динамические массивы с индексами, триггеры реализуем на как функции доступа к свойствам. Связи, доступ и все остальное тоже ручками. Без SQL. Хотя если проблема, чтобы на диск не писалось (типа очень секретно) - не поможет все равно. Виндовс сама решает, кого и когда свопить. Так что FireBird. Создаем виртуальный диск, на нем генерим базу, и дальше - как обычно.
FireBird из перечисленного (кроме 1) может все.
Анонимщик (2004-02-02 18:08:00) [37]
MV
Насчет экземпляров - прошу прощения, грубо выразился, я имел в виду экземпляры соединения с БД.
10 мегабайт на 200 000 записей = 50 байт на запись, мне хватает.
Одна из таблиц - большая, в остальных - записей чуть-чуть.
Хватит прикалываться, не знаем - молчим.
sniknik
Midas - пробовал, тормоза после 100 000 записей.
Примочки руками - не могу, это долго, я зашьюсь в конце концов, да и, мне кажется, овчинка выделки не стоит, должно уже что-то такое быть.
MV (2004-02-02 18:02:00) [38]
10 мегабайт делим на 500 000 записей = 20 байт на запись
Класс.
А если 10 мегабайт в сумме на все три таблицы - то по 6 байт на таблицу.
Супер.
Анонимщик (2004-02-02 18:02:00) [39]
И не версионник само собой
Анонимщик (2004-02-02 17:59:00) [40]
Чтоб на диск не писалось, вот и все, лишние тормоза не нужны.
Ориентировочно: три таблицы, около 200 000 - 500 000 записей, общий объем - до 10-ти мегабайт (самих таблиц, без индексирования).
Никаких отметок на удаление, удаляться записи должны сразу; не знаю, есть ли смысл говорить о транзакциях в моем случае, но, если есть, то чтоб их не было.