Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5 6 7 8 9 10 .. 99   вперед  Ctrl
 Re: Разработал драйвер баз данных, что дальше???  [new]
AndriyKo
Member

Откуда: Харьков
Сообщений: 4963
JErik
...тода, если вы допускаете задержки - то ничего страшного в этом нет...

Боюсь, юзеры будут использовать несколько другие термины...
2 ноя 09, 16:30    [7872310]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
AndriyKo
Member

Откуда: Харьков
Сообщений: 4963
gR4mm
А если файлик в память не влезет целиком, что тогда?

Думаю, ответ будет примерно таким - «640 Кб должно хватить всем!» (Ц)
2 ноя 09, 16:33    [7872333]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
mayton
Member

Откуда: loopback
Сообщений: 53009
JErik
Файла размером с ГИГ у вас небудет... Все операции драйвер проворачивает в памяти - если вы хотите обрабатывать ООЧЕНЬ большие объёмы - например отсортировать и т.д... То это легко делается загрузкой по частям, да и в общем случае 100Мб TJ7 - содержат примерно 200Мб чистых данных - эт значит 2Гб стандартная БД :)

Очень плохо конечно, что транзакция ограничена объёмом ОЗУ. Более того, вариант, который вы предлагаете в качестве workaround - никуда не годится. Нарушается принцип согласованности выборки. Ведь между порциями транзакций могут быть изменения, и, следовательно здесь 50+50 не всегда будет равно 100 с точки зрения снимка данных.

Опять-же блокировать ВСЁ и ВСЯ - железное решение, но при многопользовательской работе мы получим на редкость неотзывчивую БД. С точки зрения клиента она 99% времени будет находится в ожидании снятия блокировки. Это болезнь многих встраиваемых СУБД и прочих СУБД упрощенного типа. И лечат её по разному. В основном нечеловечески сложным кодом хранимых процедур, на встроенных языках.
2 ноя 09, 16:34    [7872344]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
gR4mm
Member

Откуда: Москва
Сообщений: 1412
JErik
Файла размером с ГИГ у вас небудет..

А если все-таки будет?
2 ноя 09, 16:37    [7872368]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
JErik
Member [заблокирован]

Откуда:
Сообщений: 468
gR4mm
А если файлик в память не влезет целиком, что тогда?
Такого впринципе быть не может - так как процедура создания базы идёт из данных которые в памяти - поэтому если вам не хватит памяти для размещения данных - вы их точно не запишите в файл, а если запишите - то вам не сможет нехватить памяти для чтения данных... Маленькая хитрость :)...
На данном драйвере следует разрабатывать БД - небольшого объёма, либо хорошо структурировать данные - как я описал про тарификацию выше - тогда проблем даже с обработкой больших объёмов данных не возникнет, на телефонной станции с 10000 абонентов - драйвер может загрузить и обработать до 1-го года данных, это примерно: 20 000 000 звонков, при этом производительность будет потрясающей (ведь данные полностью уместятся в памяти - оно и очевидно)...Больший объём данных тоже обрабатывается - но без загрузки в память целиком... В общем если вы программируете для TJ7 - это не проблема, я как-то на спор сортировал 4Гб чистых тектовых данных - в памяти естественно они неумещались - зато можно было организовать многопоточную сортировку - каждый поток выполнял свою часть и лишь заключитальный обработчик - выдавал результат сразу в файл... для таких задач больше подходит формат TJ2 - так-же реализованный в этой библиотеке - у него большой размер базы данных никакого сжатия - зато доступ к ячейкам можно получать без загрузки массива в память...
2 ноя 09, 16:41    [7872404]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
JErik
Gluk (Kazan)
JErik
Обновление данных может идти параллельно - причём не только параллельно с другим обновлением - но и параллельно с чтением, целостность данных не нарушается - единственная проблема такого доступа что при чтении могли возникать не полностью, а лишь частично обновлённые поля, поэтому от параллельного обновления данных пришлось отказаться в пользу очереди.


Медитирую
Тииииихое Счаааастье (c)
я наверное немного не правильно выразился чистично обновлённые поля я имел ввиду троки анпример если в строке 10-ть изменений 7-мь успели записаться а вот 3-рь неуспели, то есть по ячейкам... В 7-ми ячейках будут новые данные а в 3-х старые - они были ещё в процессе записи, НО целостность не нарушается...


К сожалению я не готов с Вами общаться на эту тему :( бо еще трезв
Вы не знаете базовых понятий, как минимум, Вам сложно будет найти взаимопонимание с местным контингентом (про максимум говорить не буду по причине озвученной выше)
Что такое наполовину записанные строки как не нарушение целостности данных ???

P.S. НЕ ХОЧУ спрашивать как у Вас дела с ACID
2 ноя 09, 16:42    [7872409]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
JErik
зато можно было организовать многопоточную сортировку - каждый поток выполнял свою часть и лишь заключитальный обработчик - выдавал результат сразу в файл...


Вы уверены, что описанного достаточно для выполнения внешней сортировки произвольного набора данных ?
2 ноя 09, 16:49    [7872459]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
JErik
Member [заблокирован]

Откуда:
Сообщений: 468
mayton
JErik
Файла размером с ГИГ у вас небудет... Все операции драйвер проворачивает в памяти - если вы хотите обрабатывать ООЧЕНЬ большие объёмы - например отсортировать и т.д... То это легко делается загрузкой по частям, да и в общем случае 100Мб TJ7 - содержат примерно 200Мб чистых данных - эт значит 2Гб стандартная БД :)

Очень плохо конечно, что транзакция ограничена объёмом ОЗУ. Более того, вариант, который вы предлагаете в качестве workaround - никуда не годится. Нарушается принцип согласованности выборки. Ведь между порциями транзакций могут быть изменения, и, следовательно здесь 50+50 не всегда будет равно 100 с точки зрения снимка данных.

Опять-же блокировать ВСЁ и ВСЯ - железное решение, но при многопользовательской работе мы получим на редкость неотзывчивую БД. С точки зрения клиента она 99% времени будет находится в ожидании снятия блокировки. Это болезнь многих встраиваемых СУБД и прочих СУБД упрощенного типа. И лечат её по разному. В основном нечеловечески сложным кодом хранимых процедур, на встроенных языках.

Что касается согласованности, т БД согласована на 100%... Дело в том что сначало программа блокирует файл - указывая что редактирует его - потом загружает последнюю БД (если в памяти не последний набор данных), потом записывает данные в памяти и сохраняет их в файл - только восле этого сессия закрывается. Все клиенты работают по этой схеме - поэтому они просто немогут пропустить изменения.
Всё блокировать ненадо - ВСЕ пользователи могут одновременно читать данные, поэтому обновление данных: самая медленная из операций с БД - не отнимает много времени в режиме ожидания...
2 ноя 09, 16:51    [7872489]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
еще осталось спросить о наличии битмап индексов и с драйвером станет все ясно.

JErik, разместите информацию где-нибудь на порталах, где тусуются разработчики, связанные с АСУТП, здесь не подходящая аудитория. Просто в качестве совета, который естественно можете игнорировать.
2 ноя 09, 16:54    [7872511]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
ADx
Guest
Часто спорят о преимуществах и недостатках блокировки уровня записи и уровня страницы.
Бывают блокировки уровня таблицы ( очень редко ).
Но блокировка уровня базы - это действительно ноу-хау.
А так же мгновенное сжатие и шифрование 2Г данных (суперкомпьютер топ 20?)
2 ноя 09, 17:02    [7872568]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
JErik
Member [заблокирован]

Откуда:
Сообщений: 468
iscrafm
еще осталось спросить о наличии битмап индексов и с драйвером станет все ясно.

JErik, разместите информацию где-нибудь на порталах, где тусуются разработчики, связанные с АСУТП, здесь не подходящая аудитория. Просто в качестве совета, который естественно можете игнорировать.
Боюсь что что-то есть - но опять-же не то что вы бы хотели увидеть, в библиотеки отдельн от основных реализованы индексные функции, они индексируют массив и позволяют работать с ним с помощью его индексов НО - опять же цель этой технологии несколько другая - цель индексной технологии в данном драйвере - при сортировке например избегать большое количество перезаписей ячеек памяти а сортировать Индексы... В результате можно к одному и томуже массиву обращаться как напрямую так и по его индексу и имень две таблицы в одной области памяти - отсортированную и считанную - как пример!!!
2 ноя 09, 17:07    [7872597]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
AndriyKo
Member

Откуда: Харьков
Сообщений: 4963
ADx
А так же мгновенное сжатие и шифрование 2Г данных (суперкомпьютер топ 20?)

ТС
В данный момент с базами данных у нас до сих пор работают P2-350MHz/64Mb памяти, с 10Мбитной сетевой, и люди не жалуются на производительность так как всё работает моментально...
2 ноя 09, 17:10    [7872629]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54801

JErik

потом загружает последнюю БД (если в памяти не последний набор данных),
потом записывает данные в памяти и сохраняет их в файл - только восле
этого сессия закрывается.

А если в середине этого процесса пользователь нажал "Reset", то с БД
можно попрощаться.

Posted via ActualForum NNTP Server 1.4

2 ноя 09, 17:12    [7872651]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
JErik
Member [заблокирован]

Откуда:
Сообщений: 468
AndriyKo
ADx
А так же мгновенное сжатие и шифрование 2Г данных (суперкомпьютер топ 20?)

ТС
В данный момент с базами данных у нас до сих пор работают P2-350MHz/64Mb памяти, с 10Мбитной сетевой, и люди не жалуются на производительность так как всё работает моментально...
Клиентские ПК не занимаются сжатием данных!!! P2-350MHz/64Mb - работает с базами размером в 10Мб в TJ7 - около 100.000 записей в журналах, благодаря хорошему уровню сжатия - которое обеспечивается сервером - клиентские ПК лишь быстро декодируют БД... и изменяют её...
2 ноя 09, 17:13    [7872657]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
ADx
Guest
AndriyKo,

Было сказано, что база 2Гб сжимается (на лету) до 200Мб и все будет быстро работать.
А на каких объемах все быстро работает - непонятно.
2 ноя 09, 17:13    [7872663]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
JErik
Member [заблокирован]

Откуда:
Сообщений: 468
Dimitry Sibiryakov

JErik

потом загружает последнюю БД (если в памяти не последний набор данных),
потом записывает данные в памяти и сохраняет их в файл - только восле
этого сессия закрывается.

А если в середине этого процесса пользователь нажал "Reset", то с БД
можно попрощаться.
Нет то всего навсего - изменения не будут сохранены, функции чтения и создания имеют большой кэшь, а функция обновления позволяет себе это в меньшей степени и каждая команда записи переводит базу из начального целостного в конечное целостное сотсояние, то есть либо блок записался и она целая с изменениями либо не записался и она тоже целая но без изменений....
2 ноя 09, 17:15    [7872687]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
JErik,
здесь, в основном, ломают копья сторонники РСУБД от разных вендоров, между собой. По вопросам видите наверняка. А вот там, где работают с интенсивными потоками входящих данных, Ваша информация может быть полезна. Только сразу будьте готовы к вопросам на сравнение от простейшей БерклиДВ до ТаймсТэна и т.п. Предлагаемый Вами подход в свое время в PSE от ObjectStorе пропагандировался, примерно.
2 ноя 09, 17:15    [7872692]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
JErik
Member [заблокирован]

Откуда:
Сообщений: 468
ADx
AndriyKo,

Было сказано, что база 2Гб сжимается (на лету) до 200Мб и все будет быстро работать.
А на каких объемах все быстро работает - непонятно.
база в 15-20 Мб будет шустрой - это примерно 300Мб стандартная БД... сжатием будет заниматься сервер - а клиенты лишь быстро получать доступ...
2 ноя 09, 17:19    [7872731]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
ADx
Guest
JErik,

А клиентам не придется при этом разжимать до 300МБ в память?
И сколько это времени займет?
2 ноя 09, 17:21    [7872746]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
ADx
Guest
iscrafm,

Что-то я не видел, чтоб тут сторонники классических РСУБД ломали копья между собой
Вопросы идут к автору и идеям, заложенным в концепцию. Интенсивные потоки входящих
данных требуют другие подходы, но данная разработка тут тоже не годится.
2 ноя 09, 17:27    [7872807]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54801

JErik

Нет то всего навсего - изменения не будут сохранены, функции чтения и
создания имеют большой кэшь, а функция обновления позволяет себе это в
меньшей степени и каждая команда записи переводит базу из начального
целостного в конечное целостное сотсояние, то есть либо блок записался и
она целая с изменениями либо не записался и она тоже целая но без
изменений....

Какой-такой блок? Вы же пишете файл целиком.
Какой-такой кэш? Windows пишет файлы покластерно.
При записи информации в уже существующий файл у него сначала обнуляется
длина, а потом порции данных начинаю писаться одна за другой. Если этот
процесс прервать, то транзакционный механизм NTFS откатит эту запись и
Вы будете иметь файл нулевой длины, поздравляю.

Posted via ActualForum NNTP Server 1.4

2 ноя 09, 17:27    [7872814]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
JErik
Member [заблокирован]

Откуда:
Сообщений: 468
ADx
JErik,

А клиентам не придется при этом разжимать до 300МБ в память?
И сколько это времени займет?
Разжатие идёт на лету - методы сжатия подобраны так чтобы сильно не нагруть ЦП
2 ноя 09, 17:28    [7872818]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
ADx
iscrafm,

Что-то я не видел, чтоб тут сторонники классических РСУБД ломали копья между собой
Вопросы идут к автору и идеям, заложенным в концепцию. Интенсивные потоки входящих
данных требуют другие подходы, но данная разработка тут тоже не годится.

Здесь - это раздел "Сравнение СУБД".
И расскажите, каких походов требуют интенсивные потоки входящих данных, плз. Потому что на данных момент пихают все в ин-мем, и периодически сбрасывают в хранилище. А Вы что предлагаете?
2 ноя 09, 17:31    [7872847]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
JErik
Member [заблокирован]

Откуда:
Сообщений: 468
Dimitry Sibiryakov

JErik

Нет то всего навсего - изменения не будут сохранены, функции чтения и
создания имеют большой кэшь, а функция обновления позволяет себе это в
меньшей степени и каждая команда записи переводит базу из начального
целостного в конечное целостное сотсояние, то есть либо блок записался и
она целая с изменениями либо не записался и она тоже целая но без
изменений....

Какой-такой блок? Вы же пишете файл целиком.
Какой-такой кэш? Windows пишет файлы покластерно.
При записи информации в уже существующий файл у него сначала обнуляется
длина, а потом порции данных начинаю писаться одна за другой. Если этот
процесс прервать, то транзакционный механизм NTFS откатит эту запись и
Вы будете иметь файл нулевой длины, поздравляю.
файл пишется целиком только при созднии - а при изменении данные отправляются опредулёнными порциями...
2 ноя 09, 17:33    [7872876]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
AndriyKo
Member

Откуда: Харьков
Сообщений: 4963
JErik
Клиентские ПК не занимаются сжатием данных!!! P2-350MHz/64Mb - работает с базами размером в 10Мб в TJ7 - около 100.000 записей в журналах, благодаря хорошему уровню сжатия - которое обеспечивается сервером - клиентские ПК лишь быстро декодируют БД... и изменяют её...

На "базах" такого размера я бы не парил себе моск, а просто взял бы SQLLITE и было б однозначное щастье безо всяких велосипедов - включая например ACID, триггеры, ХП, чего никак не скажешь о твоей так называемой БД...
2 ноя 09, 17:36    [7872909]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5 6 7 8 9 10 .. 99   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить