Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 73 74 75 76 77 [78] 79 80 81 82 .. 99   вперед  Ctrl
 Re: Разработал драйвер баз данных, что дальше???  [new]
iscrafm
Member [заблокирован]

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

какие проблемы могут возникнуть? Разве что от проектирования с позций "безразмерной" РСУБД приложения для работы с данными в памяти.

При работе со всеми данными в памяти и без наличия фетча - это существенная проблема.

:) Вы же процитировали вроде..." проектирования с позций "безразмерной" РСУБД"
19 дек 09, 22:49    [8091408]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
Senya_L
Я не представляю, по какому принципу хранятся данные в объектных СУБД

например, в виде "дампа памяти", образно.
19 дек 09, 22:51    [8091410]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
tAZAR
Member

Откуда: Москва
Сообщений: 2051
iscrafm

:) Вы же процитировали вроде..." проектирования с позций "безразмерной" РСУБД"

Ну конечно :)
Хотя, например, возьмем товарный отчет, торг 29. Не дай бог он станет нужен за год даже в небольшой системе (500-1000 документов в день), основанной на in-memory да еще и не имеющей сервера отчетов, формирующей отчеты там же, на клиенте.
19 дек 09, 22:55    [8091421]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
mayton
Member

Откуда: loopback
Сообщений: 53016
Senya_L
Страхов нема. :) Я не представляю, по какому принципу хранятся данные в объектных СУБД, но не самый оптимистичный опыт "приспосабливания" РСУБД для этих целей имеется. Отсюда вывод: "там" должно быть по иному. :)

Ну... если ты когда-нибудь сериализовал объект (в понимании ООП) в файл, то наверняка знаешь, что все properties в этот момент теряют свою полиморфность и становяться просто набором атомов. Для РСУБД ничего не меняется. Объект мапится в строку в таблице. С вложенными объектами - будут нюансы, но принципиально ничего не меняется.
19 дек 09, 22:57    [8091425]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
Senya_L
Member

Откуда: Москва
Сообщений: 5381
mayton
Ну... если ты когда-нибудь сериализовал объект (в понимании ООП) в файл, то наверняка знаешь, что все properties в этот момент теряют свою полиморфность и становяться просто набором атомов. Для РСУБД ничего не меняется.
Хех... :) Вопрос "сброса" коллекции объектов в файл или другой тип хранилища сложности не представляет. А вот самое интересное, как "фишки" ООП в СУБД реализовать? Ну да ладно... Меня и РСУБД пока устраивают. И вообще, пора вернутся к сабжу
19 дек 09, 23:12    [8091454]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
iscrafm
Member [заблокирован]

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

:) Вы же процитировали вроде..." проектирования с позций "безразмерной" РСУБД"

Ну конечно :)
Хотя, например, возьмем товарный отчет, торг 29. Не дай бог он станет нужен за год даже в небольшой системе (500-1000 документов в день)

собрались напечатать 12'166'666 листов мелким шрифтом?
19 дек 09, 23:17    [8091471]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
достаточно уже бредовых идей. А то действительно скоро до примеров с хранимыми процедурами дойдет.
19 дек 09, 23:22    [8091481]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
tAZAR
Member

Откуда: Москва
Сообщений: 2051
iscrafm

собрались напечатать 12'166'666 листов мелким шрифтом?

Товарный отчет бывает свернутым :) Строк в бд обработать придется очень много, а вывести - пару листов.
19 дек 09, 23:35    [8091515]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
tAZAR
Member

Откуда: Москва
Сообщений: 2051
На самом деле, торг 29, конечно не лучший пример.
Практически - отчет по отпущенным/выписанным рецептам в регионе/аптеке/лпу с группировкой по нозологическим группам за год (это 1 лист), наверное, будет более удачным примером.
19 дек 09, 23:38    [8091521]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
iscrafm
Member [заблокирован]

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

собрались напечатать 12'166'666 листов мелким шрифтом?

Товарный отчет бывает свернутым :) Строк в бд обработать придется очень много, а вывести - пару листов.

Вот пару листов и будет. Не знаете как это делается?
19 дек 09, 23:38    [8091522]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
tAZAR
На самом деле, торг 29, конечно не лучший пример.
Практически - отчет по отпущенным/выписанным рецептам в регионе/аптеке/лпу с группировкой по нозологическим группам за год (это 1 лист), наверное, будет более удачным примером.

так нужно один лист в памяти уместить?
19 дек 09, 23:39    [8091524]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
tAZAR
Member

Откуда: Москва
Сообщений: 2051
iscrafm

Вот пару листов и будет. Не знаете как это делается?

Мы вроде бы разговаривали о том, что это займет много памяти на клиенте (сами данные, на основании которых надо отчет строить), а не как это делается. А началось все с фетча...
19 дек 09, 23:39    [8091526]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
iscrafm
Member [заблокирован]

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

еще раз, мне не трудно: не занимайтесь попытками ..." проектирования с позиций "безразмерной" РСУБД". На этой странице, в начале.
19 дек 09, 23:45    [8091542]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
tAZAR
Member

Откуда: Москва
Сообщений: 2051
iscrafm

еще раз, мне не трудно: не занимайтесь попытками ..." проектирования с позиций "безразмерной" РСУБД". На этой странице, в начале.

Трудно с вами :)
Напрашивается вопрос "почему не заниматься"?
И, конечно, очевидно, что данный случай драйвер не потянет. Поэтому, было бы неплохо иметь фетч. Что вам не нравится - я не знаю.
19 дек 09, 23:47    [8091549]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
tAZAR, совсем не трудно. Просто если работаете с данными в памяти, то готовьте нужные "выборки" по мере поступления данных.
19 дек 09, 23:53    [8091566]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
vadiminfo
Member

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

Вот пару листов и будет. Не знаете как это делается?

Мы вроде бы разговаривали о том, что это займет много памяти на клиенте (сами данные, на основании которых надо отчет строить), а не как это делается. А началось все с фетча...

СУБД ин мемори на клиенте с файлами на файл сервере? Ну опоздал он. Ему говорили о том шо такие есть. Но на сервере в клиентсерверной технолгии, а клиенты могут быть тонкми. Такая СУБД много сложнее библиотеки фуекций работы с массивами. Впрочем, ТСу говорили, что он опоздал страниц N-нацать назад.
У Оракла есть TimesTen. Что осталось ТСу придумать? Про хранилища данных? Ну там было про ОЛАП ТС не стал развивать. Про интелектуальный анализ данных? Вряд ли. Есть еще встоенные БД в малые устройства. Ближе к его драйверу, нет SQL, циклы, но тоже у Оракла есть.
Поддержка мультимедиа, Геоинформациооные? Грид технологии? Ну то шо он хотел объявить преимуществами файл серверных типа распределеннные вычисления, есть.
Ну, думаю иму нуно тупо открыть справки и продукты Оракла, там почти все шо на сеня известно в технологиях БД. Там может найдет шо-то шо моно приписать его самолету 5-го поколения.
19 дек 09, 23:55    [8091571]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
tAZAR
Member

Откуда: Москва
Сообщений: 2051
iscrafm
tAZAR, совсем не трудно. Просто если работаете с данными в памяти, то готовьте нужные "выборки" по мере поступления данных.

Это понятно. Но вот в моем примере выборка нужна именно за год. Выбирать данные циклично, за определенный небольшой период в рамках года и наращивать итоги тоже можно, но это будет уже почти фетч.
Просто с учетом того, что объем данных в ходе работы системы имеет свойство (сильно) расти - держать всю бд в памяти будет все сложнее и сложнее. Ресурсы ведь не бесконечные.
19 дек 09, 23:59    [8091583]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
rockclimber
Member

Откуда: у меня в голове опилки?
Сообщений: 11085
vadiminfo
Ну, думаю иму нуно тупо открыть справки и продукты Оракла, там почти все шо на сеня известно в технологиях БД. Там может найдет шо-то шо моно приписать его самолету 5-го поколения.
"Нет, сынок, это фантастика!" (с)
ТСу уже столько раз разными способами и по разным поводам предлагали "открыть и почитать", что я даже и не знаю, что ему еще можно предложить...
Помню, у меня в институте была преподавательница по английскому, веселая такая тетка... Как-то раз объясняла она что-то такое, а народ тупо сидит и смотрит... И тут она выдала перл, который я никогда не забуду: "Ну я вам уже и так объяснила, и эдак, уже не знаю, как вам еще объяснить, может, по-китайски или в форме танца..."
Завтра после 7-8 вечера будет время, продолжу перевод своей базенки на TJ7. Меня не теряет надежда, а вдруг взлетит! Следите за развитием событий...
20 дек 09, 00:08    [8091598]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
Кста, насчет ин мемори: бабки то не плохие за одну лицензию

[url=]http://www.architect-design.ru/item.481.html[/url]
Так шо, ТС, Вам нуно быстрей доказывать шо ваш дравер луче. Продал одну лицензию и авто есть.
20 дек 09, 00:49    [8091697]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
Любопытно В
Guest
iscrafm
...

Мне вот что интересно, гражданин iscrafm... Судя по вашим глубокоинтеллектуальным выступлениям на форуме, вы вряд ли занимаете сколь либо высокий пост в http://www.iscra.ru/ (если я не прав, то ситуация еще хуже...).
А вот ваше руководство знает о том, как вы под в некотором роде брендом компании патологически бредите на этом форуме? Ведь любой топик, где по хорошему к ТС нужно вызывать санитаров, вы поддерживаете :)
20 дек 09, 01:37    [8091762]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
JErik
Member [заблокирован]

Откуда:
Сообщений: 468
rockclimber
vadiminfo
Ну, думаю иму нуно тупо открыть справки и продукты Оракла, там почти все шо на сеня известно в технологиях БД. Там может найдет шо-то шо моно приписать его самолету 5-го поколения.
"Нет, сынок, это фантастика!" (с)
ТСу уже столько раз разными способами и по разным поводам предлагали "открыть и почитать", что я даже и не знаю, что ему еще можно предложить...
Помню, у меня в институте была преподавательница по английскому, веселая такая тетка... Как-то раз объясняла она что-то такое, а народ тупо сидит и смотрит... И тут она выдала перл, который я никогда не забуду: "Ну я вам уже и так объяснила, и эдак, уже не знаю, как вам еще объяснить, может, по-китайски или в форме танца..."
Завтра после 7-8 вечера будет время, продолжу перевод своей базенки на TJ7. Меня не теряет надежда, а вдруг взлетит! Следите за развитием событий...

Структура программ которые я пишу примерна следующая (не всех конечно но основных клиентских):
Запуск программы:
- Чтение параметров (обычно это TJ2-файл).
(Пример:
TJ2LoadMas_u(7,'opt.tj7','pass');
if masopt_u(7,x,y) then
begin
form1.maskedit1.text:=masr_u(7,0,0);
form1.Radiobutton1.checked:=strtobool(masr_u(7,0,1));
...
end;)
- Чтение одной или нескольких баз данных в TJ7-формате.
(Пример:
if TJ7ReadMasSync_u(1,'base.tj7','pass',30)<>0 then
begin
messegebox('Ошибка открытия базы данных.',0);
halt;
end;)
- Заполнение клиентских форм: названия колонок, раскрывающиеся списки выбора и т.д...
(Пример:
AnalysMas_u(1,2,0);
masopt_u(2,x,y);
for i:=0 to y-2 do
form1.combobox1.item.add(masr_u(2,0,i));
DeleteIndexMas_u(1);closemas_u(2);)
Отображение данных:
(Фильтры и параметры сортировки - у меня только на экране в формах - отдельных параметров в памяти не хранится - поэтомк то что выбрал пользователь на форме - автоматом идёт в параметры отображения - без доп.действий.)
- применение фильта и параметров сортировки.
(Пример:
Copymas_u(1,3);
if form1.RadioButton1.Checked then
filtermas_u(3,form1.ComboBox2.ItemIndex,form1.ComboBox3.Text,false,true);
if form1.ComboBox4.ItemIndex>0 then
begin
IndexSortThreadMas_u(3,form1.ComboBox4.ItemIndex-1,0,not form1.CheckBox4.Checked);
IndexMasToMas_u(3,3);
end;)
- Резервирование памяти для компонента вывода данных и задания имен столбцов и их размера.
(Пример:
MasOpt_u(3,x,y);
t.Items.BeginUpdate;
if (x+1<>t.Columns.Count)or(y<>t.Items.Count) then
begin
t.Clear;t.Columns.Clear;
t.AllocBy:=0;
t1:=time;
i2:=0;MasOpt_u(3,x,y);
for i1:=0 to x do
with t.Columns.Add do
begin
Caption:=inttostr(i1-1);
if i1=0 then Width:=50 else
begin
i3:=length(masr_u(3,i1-1,0))+length(masr_u(3,i1-1,y-1));
if i3<2 then Width:=100 else Width:=((i3 div 2)+2)*10;
end;
end;
t.AllocBy:=y;
end;
t.Items.EndUpdate;)
(Если вам необходимы названия столбцов отличные от 0/1 и т.д... следует заранее сформировать их в файле например в следующем формате:
Признак видимый столбец или нет/название столбца/размер столбца в пикселях!!!
Первое поле можно сделать стандартным независимым от данных (то чего нет в самой БД):1/ID/50)
- Заполнение компонента данными. (хочется отметить что данные компоннт получает напрямую из массива а не загружает их заранее)
(Пример:
procedure TForm1.ListView1Data(Sender: TObject; Item: TListItem);
var x,y,i1:integer;
begin
masopt_u(3,x,y);
item.Caption:=inttostr(item.Index);
if item.SubItems.Count<x then
for i1:=1 to x do
item.SubItems.Add(MasR_u(3,i1-1,item.Index));
end;)

Это пример на основе TJ7Reader2.
20 дек 09, 06:00    [8091886]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
JErik
Member [заблокирован]

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

еще раз, мне не трудно: не занимайтесь попытками ..." проектирования с позиций "безразмерной" РСУБД". На этой странице, в начале.
Вот пример кода (причём который отрабатывает с высокой скоростью по сравнению с другими) который сортирует внешний файл размером более 4Гб:
procedure TForm1.BitBtn1Click(Sender: TObject);
Function TXTReadMas(filename:shortstring;c:char;x,y:int64):boolean;
var k,d,i1,fl,i2:integer;
g,q:int64;
begin
TXTReadMas:=false;
try
form1.StaticText11.Caption:='Чтение входного файла с позиции: '+inttostr(x);
source:=TStringList.Create;
k:=0;g:=y-x;q:=x;i2:=0;
fl:=FileOpen(filename,fmOpenRead);
if x<>0 then
FileSeek(fl,q,0);
while k<g do
begin
d:=g-k;
if d>16777216 then d:=16777216;
d:=FileRead(fl,bufrf,d);k:=k+d;
source.Text:=source.Text+copy(bufrf,1,d);
init(i2+source.Count-1);
for i1:=0 to source.Count-2 do
begin
writex(0,i2,source.Strings[i1]);
source.Strings[i1]:='';inc(i2);
end;
source.Text:=source.Strings[source.Count-1];
end;
FileClose(fl);
source.Clear;
except exit;end;
TXTReadMas:=true;
end;
Function TXTWriteMas(filename:shortstring;c:char):boolean;
var t:textfile;
s:string;
i2,x,y:integer;
begin
TXTWriteMas:=false;
try
opt(x,y);
assignfile(t,filename);
rewrite(t);s:='';
for i2:=0 to y-1 do
begin
s:=s+read(0,i2)+#13+#10;
if i2 mod 500=0 then
begin
write(t,s);
s:='';
end;
end;
if s<>'' then write(t,s);
closefile(t);
except exit;end;
TXTWriteMas:=true;
end;
var f1,f2,f3,fr:textfile;
if1,if2,if3:integer;
sf1,sf2,sf3:TStringList;
uk1,uk2,uk3:integer;
k1,k2,k3:integer;
i1,fl,i2:integer;
a:array[1..3] of string;
iall,ip1,ip2:int64;
buf:array[1..16384] of char;
s,sd:string;
begin
form1.StaticText11.Caption:='Старт программы...';
t1:=time;
fl:=FileOpen('text.txt',fmOpenRead);
iall:=0;
iall:=FileSeek(fl,iall,2);
ip1:=iall div 3;
ip2:=ip1+ip1;
FileSeek(fl,ip1,0);
FileRead(fl,buf,500);
ip1:=ip1+pos(#13,buf);
FileSeek(fl,ip2,0);
FileRead(fl,buf,500);
ip2:=ip2+pos(#13,buf);
FileClose(fl);
t2:=time;
TXTReadMas('text.txt',#8,0,ip1);
Sort(true);
TXTWriteMas('1.tmp',#8);
TXTReadMas('text.txt',#8,ip1+1,ip2);
Sort(true);
TXTWriteMas('2.tmp',#8);
TXTReadMas('text.txt',#8,ip2+1,iall);
Sort(true);
TXTWriteMas('3.tmp',#8);
Init(0);
t3:=time;
assignfile(fr,'result.txt');
rewrite(fr);
assignfile(f1,'1.tmp');
reset(f1);
assignfile(f2,'2.tmp');
reset(f2);
assignfile(f3,'3.tmp');
reset(f3);
readln(f1,a[1]);
readln(f2,a[2]);
readln(f3,a[3]);
s:='';
for i1:=1 to iall do
begin
if (a[1]<a[2])and(a[1]<a[3])and(not eof(f1)) then
begin
s:=s+a[1]+#13+#10;
readln(f1,a[1]);
end else
if (a[2]<a[3])and(not eof(f2)) then
begin
s:=s+a[2]+#13+#10;
readln(f2,a[2]);
end else
if (not eof(f3)) then
begin
s:=s+a[3]+#13+#10;
readln(f3,a[3]);
end else break;
if i1 mod 500=0 then
begin
write(fr,s);
s:='';
end;
end;
if s<>'' then write(fr,s);
if a[1]<>'' then writeln(fr,a[1]);
if a[2]<>'' then writeln(fr,a[2]);
if a[3]<>'' then writeln(fr,a[3]);
closefile(fr);
closefile(f1);
closefile(f2);
closefile(f3);
deletefile('1.tmp');
deletefile('2.tmp');
deletefile('3.tmp');
t4:=time;
form1.StaticText3.Caption:=floattostr(RTime_u(t1,t2)/1000)+' сек.';
form1.StaticText5.Caption:=floattostr(RTime_u(t2,t3)/1000)+' сек.';
form1.StaticText7.Caption:=floattostr(RTime_u(t3,t4)/1000)+' сек.';
form1.StaticText9.Caption:=floattostr(RTime_u(t1,t4)/1000)+' сек.';
form1.StaticText11.Caption:='Работа программы завершена...';
end;
20 дек 09, 06:09    [8091888]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
tanglir
Member

Откуда:
Сообщений: 28966
автор
source:=TStringList.Create;{/quote]Сортировка йалов через стринглист... Кто тут ещё на что-то надеется?
[quote автор]var f1,f2,f3,fr:textfile;
if1,if2,if3:integer;
sf1,sf2,sf3:TStringList;
uk1,uk2,uk3:integer;
k1,k2,k3:integer;
i1,fl,i2:integer;
a:array[1..3] of string;
iall,ip1,ip2:int64;
buf:array[1..16384] of char;
s,sd:string;
так и хочется поставить коммент - "//угадай что это значит"
А по поводу того, что дальше написано - ну, помимо всего прочего, например, просьба: Jerik, выложите куда-нибудь сортировку терабатного файла. Постить сюда, наверное, не стоит - имхо движок форума не переварит сообщение такой длины.
20 дек 09, 07:00    [8091891]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
JErik
Member [заблокирован]

Откуда:
Сообщений: 468
tanglir
автор
source:=TStringList.Create;{/quote]Сортировка йалов через стринглист... Кто тут ещё на что-то надеется?
[quote автор]var f1,f2,f3,fr:textfile;
if1,if2,if3:integer;
sf1,sf2,sf3:TStringList;
uk1,uk2,uk3:integer;
k1,k2,k3:integer;
i1,fl,i2:integer;
a:array[1..3] of string;
iall,ip1,ip2:int64;
buf:array[1..16384] of char;
s,sd:string;
так и хочется поставить коммент - "//угадай что это значит"
А по поводу того, что дальше написано - ну, помимо всего прочего, например, просьба: Jerik, выложите куда-нибудь сортировку терабатного файла. Постить сюда, наверное, не стоит - имхо движок форума не переварит сообщение такой длины.
Сортировка терабайтного файла на самом деле будет даже меньше по программному коду - чем эта...
20 дек 09, 07:20    [8091894]     Ответить | Цитировать Сообщить модератору
 Re: Разработал драйвер баз данных, что дальше???  [new]
rockclimber
Member

Откуда: у меня в голове опилки?
Сообщений: 11085
rockclimber
Меня не теряет надежда, а вдруг взлетит!
Мдааааа.....
Только сегодня утром заметил, что я тут понаписал... Когда прочитал, сполз под стол. По-моему, меня тоже пора лечить.
20 дек 09, 11:00    [8091973]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 73 74 75 76 77 [78] 79 80 81 82 .. 99   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить