Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 51 52 53 54 55 [56] 57 58 59 60 .. 99   вперед  Ctrl
 Re: Разработал драйвер баз данных, что дальше???  [new]
Supra93
Member

Откуда:
Сообщений: 8174
JErik
запись данных случайных данных с кодом от №0 до №255 - в SQL-запросе - такое даже представить сложно...


конкретизируйте задачу.
Что имеем и что надо получить
8 дек 09, 08:47    [8032329]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
JErik

Я привёл вам полный исходный код теста и вы можете его повторить на TJ7 - правда SQL - слабоват даже на то чтобы повторить эти 10-ть строчек теста, хотя бы потому что запись данных случайных данных с кодом от №0 до №255 - в SQL-запросе - такое даже представить сложно...

Шобы надежней защититься от возможносмтей SQL, Вам луче в Вашем коде произвести расчет ядерного реактора. Трабла для Вас останется тока то, шо в проблемной области БД для типовых задач в большинситве случаев вычислительной полноты SQL достаточно, а декларативность убивает напрочь привлекательность Вашего кода. Тем более, что СУБД поддерживают процедурные расширения SQL, потому остальные случаи не являются сдерживающим фактором.
От того Ваши тесты даже если и превзойдут какую-нить СУБД, мало помогут в продвижения драйвера БД. Мне сложно себе представить как проектировщику БД захочется проектировать в Вашей системе, и уж тем более слушать про Ваш код. Тока если проетировать БД будут проггеры. Но такое уже не вседа возможно даже в нашей стране.
8 дек 09, 08:48    [8032333]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
Skiffspb
Member

Откуда: Спб
Сообщений: 105
JErik
запись данных случайных данных с кодом от №0 до №255 - в SQL-запросе - такое даже представить сложно...


select char(cast(rand()*255 as int))
Это и представлять не надо. Можешь так, просто, посмотреть.
8 дек 09, 09:27    [8032420]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
Skiffspb
Member

Откуда: Спб
Сообщений: 105
Ах, ну да. Запись... замените там Select на Insert =)
8 дек 09, 09:29    [8032427]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
tAZAR
Member

Откуда: Москва
Сообщений: 2051
JErik
tAZAR
Думаю, под полной свободой в данном случае понимается "можно делать", "можно Не делать" )))

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


Вы то что я пишу читаете? )
Интеграции вашего продукта, а не в ваш продукт.
8 дек 09, 10:07    [8032604]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
ДжекНепотрошитель
Member

Откуда: Донецк
Сообщений: 5308
JErik
Нет-нет и нет, ноут у меня имеет иногоступенчатую защиту - и если вытащит хард и подцепить к другому ПК - он определится как даже не форматированный вообще без разделрв, благодаря защите самого ноута. Второй уровень Windows: все более менее нужные файлы и фотки - зашифрованы средствами NTFS - доступ к учётке по паролю заблокирован - только по отпечаткам пальцев...

... и чтобы окончательно сбить с толку злоумышленника, для аутентификации был использован не палец, а пенис.
8 дек 09, 10:24    [8032718]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
JErik
Member [заблокирован]

Откуда:
Сообщений: 468
Gluk (Kazan)
JErik

Нет-нет и нет, ноут у меня имеет иногоступенчатую защиту - и если вытащит хард и подцепить к другому ПК - он определится как даже не форматированный вообще без разделрв, благодаря защите самого ноута. Второй уровень Windows: все более менее нужные файлы и фотки - зашифрованы средствами NTFS - доступ к учётке по паролю заблокирован - только по отпечаткам пальцев, всё что касается исходников и т.д... то все они если когда то и были - то были в шифрованном виде средствами NTFS и были удалены с помозью средств невосстановимого удаления... То что предназначено для хранения имеет ещё один уровень шифрования: Poti " http://ykolchurin.narod.ru/Poti.html ".


Ню Ню. Надеюсь ты хранишь резервные копии В противном случае, я не завидую твоим пользователям. Впрочем, возможно твои поделия что-то такое без чего они легко могут обойтись ???
Резервные копии (2Гю в сжатом и шифрованном виде с помощью вышеуказанной программы) хранятся на 4-х ПК, на некоторых из которых отказоустояцивая система. Создаются еженедельно либо ежедневно - по факту изменений...
8 дек 09, 10:34    [8032832]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
,f.s/d,
Guest
ДжекНепотрошитель
JErik
Нет-нет и нет, ноут у меня имеет иногоступенчатую защиту - и если вытащит хард и подцепить к другому ПК - он определится как даже не форматированный вообще без разделрв, благодаря защите самого ноута. Второй уровень Windows: все более менее нужные файлы и фотки - зашифрованы средствами NTFS - доступ к учётке по паролю заблокирован - только по отпечаткам пальцев...

... и чтобы окончательно сбить с толку злоумышленника, для аутентификации был использован не палец, а пенис.
Этот топик являет собой неисчерпаемыя кладезь цитат для башорга
8 дек 09, 10:36    [8032851]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
gR4mm
Member

Откуда: Москва
Сообщений: 1412
Gluk (Kazan)
Ню Ню. Надеюсь ты хранишь резервные копии В противном случае, я не завидую твоим пользователям. Впрочем, возможно твои поделия что-то такое без чего они легко могут обойтись ???

Не надейтесь, это врядли =)

Jerik, не удивляйся, если получишь свой ноут с чистым хардом. Кстати, что за такая многоступенчатая защита? Она спасает от форматирования харда?
8 дек 09, 10:42    [8032911]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
gR4mm
Member

Откуда: Москва
Сообщений: 1412
JErik,

а какую систему контроля версий используешь?
8 дек 09, 10:47    [8032950]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
JErik
Member [заблокирован]

Откуда:
Сообщений: 468
Я накасячил с производительностью ((((( чё делать...
В общем так, я решил для теста набрать внешнюю функцию фильтрации данных в том тесте который я приводил:
Вот исходник теста:
var i1,i2,i3,i4,i5,i6:integer;
t1,t2,t3,t4,t5,t6,t7,t8,t9,t10:tdatetime;
s:shortstring;
begin
form1.Memo1.Clear;
form1.Memo1.Lines.Add('Начало теста. Генерация данных...');
i3:=10;i4:=100000;
initmas_u(1,i3,i4);
for i1:=0 to i3-1 do
for i2:=0 to i4-1 do
begin
i5:=round(32);s:='';
for i6:=1 to i5 do
s:=s+char(random(256));
masw_u(1,i1,i2,s);
end;
t1:=time;
TJ7CreateMas_u(1,'testing.tj7','null',false,false,false,false,false);
t2:=time;
closemas_u(1);
t3:=time;
TJ7ReadMas_u(1,'testing.tj7','null');
t4:=time;
IndexSortThreadMas_u(1,0,0,true);
t5:=time;
FastFindMas_u(1,0,masr_u(1,0,trunc(i4/2)));
t6:=time;
Copymas_u(1,2);
t7:=time;
filtermas_u(2,0,masr_u(1,0,trunc(i4/2)),true,true);
t8:=time;
masw_u(2,0,0,'New STR-filtering');
t9:=time;
TJ7UpdateMas_u(1,'testing.tj7','null');
t10:=time;
form1.Memo1.Lines.Add('Создание TJ7: '+floattostr(Rtime_u(t1,t2)));
form1.Memo1.Lines.Add('Очистка памяти:: '+floattostr(Rtime_u(t2,t3)));
form1.Memo1.Lines.Add('Чтение TJ7: '+floattostr(Rtime_u(t3,t4)));
form1.Memo1.Lines.Add('Сортировка: '+floattostr(Rtime_u(t4,t5)));
form1.Memo1.Lines.Add('Быстрый поиск: '+floattostr(Rtime_u(t5,t6)));
form1.Memo1.Lines.Add('Создание копии массива:'+floattostr(Rtime_u(t6,t7)));
form1.Memo1.Lines.Add('Выборка/фильтрация данных:'+floattostr(Rtime_u(t7,t8)));
form1.Memo1.Lines.Add('Изменение данных в памяти: '+floattostr(Rtime_u(t8,t9)));
form1.Memo1.Lines.Add('Сохранение изменений на диск в TJ7: '+floattostr(Rtime_u(t9,t10)));
end;
Вот результат теста:
Начало теста. Генерация данных...
Создание TJ7: 2522
Очистка памяти:: 63
Чтение TJ7: 3301
Сортировка: 869
Быстрый поиск: 0
Создание копии массива:124
Выборка/фильтрация данных:137
Изменение данных в памяти: 0
Сохранение изменений на диск в TJ7: 8
а потом я решил заменить функцию "filtermas_u" на самописную внешнюю:
procedure filter_u(mx:byte;j:integer;s:shortstring);
var x,y,yuk1,yuk2:integer;
begin
masopt_u(mx,x,y);
initmas_u(mx+1,1,0);
yuk2:=0;
for yuk1:=0 to y-1 do
if copy(masr_u(mx,j,yuk1),1,1)=copy(s,1,1) then
if masr_u(mx,j,i1)=s then
begin
masw_u(mx+1,j,i2,inttostr(i1));
inc(i2);
end;
end;
И о чудо фильтрация данных в 100.000 массиве стала занимать не 137 мсек. а всего 18 мсек.!!!
разбираясь в результате оказалось что 90% времени выполняется функция SetLength - для очистки памяти. в результате я решил заменить фильтрацию на самописную эту - покамест, так как это во первых: экономит память (создаётся льшь массив ссылок), и увеличивает производительность в 7-мь раз...

Как можно быстро организовать динамическое изменение объёмов массива??? кто-нить знает??? ща буду гуглить :(
8 дек 09, 10:48    [8032954]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
JErik
Member [заблокирован]

Откуда:
Сообщений: 468
gR4mm
Gluk (Kazan)
Ню Ню. Надеюсь ты хранишь резервные копии В противном случае, я не завидую твоим пользователям. Впрочем, возможно твои поделия что-то такое без чего они легко могут обойтись ???

Не надейтесь, это врядли =)

Jerik, не удивляйся, если получишь свой ноут с чистым хардом. Кстати, что за такая многоступенчатая защита? Она спасает от форматирования харда?
Ой резервные копи не только на 4-х ПК, кроме ноута но и на карте памяти и на флешке :)... в вечер когда он сдох - я успел сбросить резервные копии на флешку сейчас они размножены... я ничего не потеряю даже при форматировании винта
8 дек 09, 10:52    [8033012]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
mpi1979
Member

Откуда:
Сообщений: 28
Никто не знает. Но у вас получится, мы верим. И ждем очередного релиза :)
8 дек 09, 10:54    [8033027]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
Infernal V. Raven
Member

Откуда: St.Petersburg
Сообщений: 1710
JErik,

если хочешь быстродействия - откажись от SetLength и массивов, а работай с кучей(Heap).
P.S. авось когда-нибудь IMDB получится
8 дек 09, 10:55    [8033036]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
Зайцев Фёдор
Member

Откуда: Лужки
Сообщений: 5308
афтар
if copy(masr_u(mx,j,yuk1),1,1)=copy(s,1,1) then
что это за условие? что за волшебные данные находятся в s[1] (aka copy(s, 1, 1)) ?

P.S.
так в каком виде поступает таблица Oracle ?
8 дек 09, 10:59    [8033067]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
JErik
Member [заблокирован]

Откуда:
Сообщений: 468
Infernal V. Raven
JErik,

если хочешь быстродействия - откажись от SetLength и массивов, а работай с кучей(Heap).
P.S. авось когда-нибудь IMDB получится

Нагуглил:
Dispose Высвобождает память из-под динамической переменной.
Finalize Деинициализирует динамическую переменную.
FreeMem Высвобождает память из-под динамической переменной.
GetMem Создает динамическую переменную, выделяя под нее указанный объем памяти.
Initialize Инициализирует динамическую переменную.
New Создает динамическую переменную.
ReallocMem Перераспределяет память для динамической переменной.
Незнаю правда как это будет по производительности - надо будет тестить...
И кучу посмотрел... В общем попробую реальзовать как-нить, чтобы избавиться от столь медленных функций...
Есть идея отказаться вообще от изменения памяти - а как в примере с внешней функцией - создать доп. массив индексов которые будут как указатели...
8 дек 09, 11:03    [8033101]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
JErik
Member [заблокирован]

Откуда:
Сообщений: 468
Зайцев Фёдор
афтар
if copy(masr_u(mx,j,yuk1),1,1)=copy(s,1,1) then
что это за условие? что за волшебные данные находятся в s[1] (aka copy(s, 1, 1)) ?

P.S.
так в каком виде поступает таблица Oracle ?
Ой - это я экспериментил :), пытался увеличить производительность сравнивая не строки целиком а для начала их части...
8 дек 09, 11:04    [8033116]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
JErik
Member [заблокирован]

Откуда:
Сообщений: 468
Зайцев Фёдор
афтар
if copy(masr_u(mx,j,yuk1),1,1)=copy(s,1,1) then
что это за условие? что за волшебные данные находятся в s[1] (aka copy(s, 1, 1)) ?

P.S.
так в каком виде поступает таблица Oracle ?
А там просто десяток полей я даже не смотрю что там за данные перекодирую в FVMas - сразу прямо данные переношу... потом Select X,X,X... - выбираю нужные поля и т.д... и фактически в каком-бы источнике она не была - я работаю с ней Через FVMas - один раз VxTJ7 - настроил и он просто поддерживает её и всё...
8 дек 09, 11:08    [8033150]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
ПЗ
Guest
JErik
Infernal V. Raven
JErik,

если хочешь быстродействия - откажись от SetLength и массивов, а работай с кучей(Heap).
P.S. авось когда-нибудь IMDB получится

Нагуглил:
Dispose Высвобождает память из-под динамической переменной.
Finalize Деинициализирует динамическую переменную.
FreeMem Высвобождает память из-под динамической переменной.
GetMem Создает динамическую переменную, выделяя под нее указанный объем памяти.
Initialize Инициализирует динамическую переменную.
New Создает динамическую переменную.
ReallocMem Перераспределяет память для динамической переменной.
Незнаю правда как это будет по производительности - надо будет тестить...
И кучу посмотрел... В общем попробую реальзовать как-нить, чтобы избавиться от столь медленных функций...
Есть идея отказаться вообще от изменения памяти - а как в примере с внешней функцией - создать доп. массив индексов которые будут как указатели...

На 56-й странице гениальный разработчик драйверов, субд и алгоритмов шифрования открыл для себя динамические структуры данных
8 дек 09, 11:08    [8033161]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
JErik
Member [заблокирован]

Откуда:
Сообщений: 468
Зайцев Фёдор
афтар
if copy(masr_u(mx,j,yuk1),1,1)=copy(s,1,1) then
что это за условие? что за волшебные данные находятся в s[1] (aka copy(s, 1, 1)) ?

P.S.
так в каком виде поступает таблица Oracle ?

Код фильтра можно та записать:
procedure filter_u(mx:byte;j:integer;s:shortstring);
var x,y,yuk1,yuk2:integer;
begin
yuk2:=0;
masopt_u(mx,x,y);
initmas_u(mx+1,1,0);
for yuk1:=0 to y-1 do
if masr_u(mx,j,i1)=s then
begin masw_u(mx+1,0,i2,inttostr(i1)); inc(i2);end;
end;
8 дек 09, 11:10    [8033175]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
Зайцев Фёдор
Member

Откуда: Лужки
Сообщений: 5308
JErik
А там просто десяток полей я даже не смотрю что там за данные
Где там ? В таблице ? Она, таблица эта, на туалетной бумаге нарисована? Или она всё-таки в "электронном виде" - в каком формате?
8 дек 09, 11:10    [8033180]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
Infernal V. Raven
Member

Откуда: St.Petersburg
Сообщений: 1710
JErik

И кучу посмотрел... В общем попробую реальзовать как-нить, чтобы избавиться от столь медленных функций...
Есть идея отказаться вообще от изменения памяти - а как в примере с внешней функцией - создать доп. массив индексов которые будут как указатели...

Этого мало.
У Delphi вообще свой менеджер памяти. Погугли еще на темы организации и выделения памяти и т.п.

вот например: http://articles.org.ru/cn/showdetail.php?cid=7342
8 дек 09, 11:12    [8033191]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
JErik
Member [заблокирован]

Откуда:
Сообщений: 468
ПЗ,
низкой производительности - подвержены только фильтры, функционал сортировки и т.д... не изменяет динамическую область памяти...
8 дек 09, 11:12    [8033195]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
JErik
Member [заблокирован]

Откуда:
Сообщений: 468
Зайцев Фёдор
JErik
А там просто десяток полей я даже не смотрю что там за данные
Где там ? В таблице ? Она, таблица эта, на туалетной бумаге нарисована? Или она всё-таки в "электронном виде" - в каком формате?
В оракле!!!! Я лишь прописал Сервер, порт, Имя , пароль для доступа и SQL-запрос первоначальный Select * From ? - и всё, мне без разници в каком формате таблица, где и как она лежит и т.д...
8 дек 09, 11:14    [8033218]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
ADx
Guest
ЛП
2 ADx
Ага, а так же есть прекрасные файлы блокировок (которые имеют тенденцию грохаться, зависать и т.д.)

Кия обсосались?
Как Вы это себе представляете - зависший файл?

и масштабируемости линейной тоже ни фига нет

Для тупых повторяю - горизонтальная маштабируемость у ФС такая, что клиент-серверным системам не снилась, не снится, и снится не будет никогда.

сеть, ресурсы файл сервера ипт.

Тапки мои не смешите.
Ресурсы файл-сервера, гы.

А главное, суммарная мощность никому не сдалась

Ну не сдалась так не сдалась, я не настаиваю.
С русского на русский перевёл, а поддерживать очередной холивар на тему "ФС vs КС" не собираюсь.
Ибо оффтоп. Потому что драйвер массива - ни к ФС, ни к КС отношения не имеет.


Ответы - бред полный. Я бы пояснил, но с хамами общаться не намерен.
8 дек 09, 11:19    [8033259]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 51 52 53 54 55 [56] 57 58 59 60 .. 99   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить