In-Memory SQL базы данных

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

In-Memory SQL базы данных

Сообщение ger_kar » 31.10.2014 (Пт) 18:17

Недавно в http://bbs.vbstreets.ru/viewtopic.php?f=1&t=45789#p6774393 был затронут вопрос о использовании Баз данных создаваемых в памяти (без явной записи в файлы). У меня тоже периодически возникает потребность в такой базе.
Поиск в интернете привел меня на http://quilogic.cc/ . Штука мне показалась занятной. Но наверняка это не единственный сторонний компонент позволяющий реализовать таблицы в памяти и обращаться к ним с запросами. Я например и на такой натыкался, но к сожалению он только для Delphi. Собственно вопрос к форумчанам следующий, может кто то уже пользовался/пользуется чем то подобным или как то по другому выходит из положения. А может кто-то уже пользовался этим самым 'QuiLogic has developed SQL/XML-IMDB' и может дать отзывы о сием продукте. На странице есть конечно демо версия. Можно скачать и попробовать, но обычно такие пробы всегда поверхностны, и все подводные камни и наступление на грабли приключаться гораздо позже в самый неожиданный момент. Поэтому ценный совет тут гораздо важнее. Тем более, что продукт не бесплатный. В принципе если он действительно стоящий то можно и купить. Но не хотелось бы покупать кота в мешке :).
Бороться и искать, найти и перепрятать

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 31.10.2014 (Пт) 23:34

ger_kar писал(а):http://quilogic.cc/

Вот я бы не доверял коммерческому продукту, у которого сайт подобного качества, да ещё и в Word'е сделан...
И копирайт 2000 - 2009, так что ещё и не развивается больше, похоже.
Пользоваться не пробовал.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: In-Memory SQL базы данных

Сообщение ger_kar » 01.11.2014 (Сб) 15:32

Qwertiy писал(а):И копирайт 2000 - 2009, так что ещё и не развивается больше, похоже.
Наверное развили до полного совершенства :)
Спасибо, есть теперь над чем подумать. И кстати по поводу сайта, я особых косяков не заметил, сайт, как сайт. А из чего следует, что он в Word'е сделан?
Бороться и искать, найти и перепрятать

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: In-Memory SQL базы данных

Сообщение iGrok » 01.11.2014 (Сб) 22:13

ger_kar писал(а):А из чего следует, что он в Word'е сделан?

<meta name=Generator content="Microsoft Word 11 (filtered)">

Ну и вся разметка страницы об этом просто таки кричит. :)
label:
cli
jmp label

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 02.11.2014 (Вс) 1:57

ger_kar писал(а):И кстати по поводу сайта, я особых косяков не заметил, сайт, как сайт.

Ну, тут сразу несколько пунктов.
Сразу брасается в глаза дизайн - даже если для 2009 года он нормальный, то сейчас - нет. Всё из таблиц (и не просто табличная вёрстка, а визуально таблицы в глаза бросаются), левое меню есть только на одной странице на двух страницах (сейчас нащёл ещё одну, которую вчера вообще не видел), но разметка под него на всех. Очень много элементов, интуитивно воспринимаемых ссылками, но на самом деле ссылками не являющихся. Вместо маркеров списка отображается какая-то фигня (да, в IE шрифт Wingdings прокатит, но вот все остальные браузеры неюникодные шрифты игнорят). Доктайпа там тоже нет, так что добро пожаловать в IE Quirks 5, хотя при такой разметке это не важно.
Дальше, содержимое сайта. Тоже не блещет, мягко говоря. Первое желание найти примеры кода - всё что удалось узнать, что там есть какой-то sql и ещё xql - больше никакой информации. Нет не то что законченных примеров, нет даже просто самодостаточных шмотков кода. Следующее желание - найти историю версий. Эм.. Не нашёл... Даже номера текущей версии не нашёл... И никаких упоминаний о датах, кроме этого копирайта внизу.

ger_kar писал(а):А из чего следует, что он в Word'е сделан?

Ну, там вся разметка в офисном стиле:
Код: Выделить всё
<table class=MsoTableGrid ...
<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>&nbsp;</span></p>
ну и в придачу, метатег с генератором:
Код: Выделить всё
<meta name=Generator content="Microsoft Word 10 (filtered)">
<meta name=Generator content="Microsoft Word 11 (filtered)">
Похоже, у них ещё и версия Word'а сменилась, пока они сайт делали :lol:

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: In-Memory SQL базы данных

Сообщение ger_kar » 02.11.2014 (Вс) 6:38

Спасибо за развернутое объяснение. Хотя как по мне, так раньше сайты были гораздо лучше. Сейчас все эти перенахероверченые новомодные сайты кроме чувства раздражения ничего не вызывают. Те же одноклассники испорчены основательно и видимо навсегда, да и вообще всё новое стали делать настолько отвратно, что только диву даешься. Начиная от новомодных виндов и заканчивая новым скайпом и агентом. Скайпом я уже перестал пользоваться, ибо старая версия перестала работать, а новое говно..., старый агент (5.7) пока еще дышит. Пока не помрет буду пользоваться. Но вся тенденция идет к тому, что скоро придется с компьютером распрощаться, что бы сохранить свою нервную систему в нормальном состоянии :).
Бороться и искать, найти и перепрятать

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: In-Memory SQL базы данных

Сообщение Хакер » 02.11.2014 (Вс) 9:33

Вторые 50 % темы — оффтопик с обсуждением сайтов. Закрываем тему?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: In-Memory SQL базы данных

Сообщение ger_kar » 02.11.2014 (Вс) 10:59

Хакер писал(а):Вторые 50 % темы — оффтопик с обсуждением сайтов.
Да уж. Это точно. Но может кто нибудь подскажет что то лучшее, чем этот quilogic, по крайней мере надежда на это ещё пока сохраняется :). Поиск по просторам интернета ни к чему не привел. Нашел для делфи, под дот нет, но вот ActiveX подобного больше ничего не встретилось. Можно конечно делать временные таблицы в отдельном mdb файле. Но вот производительность будет не ахти, и это напрягает.
Бороться и искать, найти и перепрятать

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: In-Memory SQL базы данных

Сообщение Хакер » 02.11.2014 (Вс) 16:04

Возникает вопрос: зачем?

Это выбор между тем, хранить ли файл БД на диске или хранить файл БД на диске.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 02.11.2014 (Вс) 16:25

ger_kar писал(а):Можно конечно делать временные таблицы в отдельном mdb файле. Но вот производительность будет не ахти, и это напрягает.

А если разместить его на RAM-диске?

PS: А вообще, я всё-таки не понимаю чем SQL лучше, чем сделать выборку из имеющихся в памяти данных самостоятельно...

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: In-Memory SQL базы данных

Сообщение ger_kar » 02.11.2014 (Вс) 16:39

Хакер писал(а):Возникает вопрос: зачем?
Ну как зачем, для обработки естественно. Это же очень удобно сделать некий отбор во временную таблицу(таблицы) и дальше её обрабатывать в т.ч. и запросами. Соединять, объединять и т.д. Работая в 1С с временными таблицами я оценил их удобство по достоинству. В дот нете тоже есть нечто подобное, так почему бы это не иметь в VB6?

Хакер писал(а):Это выбор между тем, хранить ли файл БД на диске или хранить файл БД на диске.
И где же тут выбор? Если выбор, то это как раз память либо файл.
Qwertiy писал(а):А если разместить его на RAM-диске?
Это куча лишних заморочек + значительный перерасход ресурсов компьютера. Ведь это же нужно не постоянно, а RAM-диск будет работать постоянно. Плюс надо как то это всем этим управлять из приложения. Получится тот еще костыль.
Бороться и искать, найти и перепрятать

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: In-Memory SQL базы данных

Сообщение ger_kar » 02.11.2014 (Вс) 16:46

Qwertiy писал(а):PS: А вообще, я всё-таки не понимаю чем SQL лучше, чем сделать выборку из имеющихся в памяти данных самостоятельно...
Ну во первых универсальные методы работы.и не только с самими запросами, а в общем с ADODB. А также экономия времени. Да и производительность будет не ахти. Кроме этого например почти все гриды заточены на визуализацию информации, находящуюся в рекордсетах (или аналогичных объектах). Поэтому городить огород не охота.
Бороться и искать, найти и перепрятать

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: In-Memory SQL базы данных

Сообщение Хакер » 02.11.2014 (Вс) 17:02

ger_kar писал(а):И где же тут выбор? Если выбор, то это как раз память либо файл.

Нет, оба варианта — это файл и файл. В одном случае это какой-то твой файл. В другом случае это файл подкачки.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: In-Memory SQL базы данных

Сообщение ger_kar » 02.11.2014 (Вс) 17:36

Ну в файл подкачки будет сбрасываться при достаточно больших объемах, а временные таблицы обычно используются для сравнительно небольших объемов. И в случае с файлом подкачки производительность будет больше.
Обрисую ситуацию.
Например запрос выбирающий данные и помещающий результат во временную таблицу. Дальше идет некая обработка в памяти. В случае с файловой БД. Данные выберутся в файл, потом для их анализа и обработки их нужно считать в память (загрузить в рекордсет). В случае с In-Memory вариантом они уже в памяти. Далее после обработки (для файловой базы) их нужно поместить обратно в файл, чтобы потом например сделать запрос и JOIN с другими таблицами. В случае In-Memory БД таких чтений записей будет существенно меньше, а производительность выше. Или я не прав?
Бороться и искать, найти и перепрятать

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: In-Memory SQL базы данных

Сообщение Хакер » 02.11.2014 (Вс) 17:38

ger_kar писал(а):а временные таблицы обычно используются для сравнительно небольших объемов. И в случае с файлом подкачки производительность будет больше.

А обычные операции с обычными файлами тоже используют файловый кеш.

Создатели Windows позаботились о вашей дурости :) И многие вещи компенсируют неоптимальность подходов.

В итоге получается, что когда вы думаете, что вы используете память, вы используете файл подкачки. А когда вы используете обычный файл, вы используете память.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: In-Memory SQL базы данных

Сообщение ger_kar » 03.11.2014 (Пн) 15:41

А размещение файлов на RAM диске как предложил 'Qwertiy' изменит ситуацию, или это ровно ничего не даст (кроме лишних телодвижений) по причинам, изложенным в предыдущем сообщении?
Бороться и искать, найти и перепрятать

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: In-Memory SQL базы данных

Сообщение Хакер » 03.11.2014 (Пн) 16:03

ger_kar писал(а):изменит ситуацию, или это ровно ничего не даст

А почему «или», а не «и»?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: In-Memory SQL базы данных

Сообщение ger_kar » 03.11.2014 (Пн) 17:07

Ну потому, что 'и', если его применить сделает предложение по смыслу утверждающим. А я же ничего не утверждаю, а только спрашиваю. Поэтому 'или'.
Бороться и искать, найти и перепрятать

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: In-Memory SQL базы данных

Сообщение Хакер » 03.11.2014 (Пн) 17:19

Ууу... это какая-то сложная для меня логика. Я-то всю жизнь думал, что можно задать вопрос «будет А и Б?» наравне с «будет А или Б?», но если «и» превращает вопрос в утверждение, то я не знаю, что это за волшебный сорт логики такой.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 03.11.2014 (Пн) 23:01

Разве ram-диск не гарантирует, что он находится именно в оперативной памяти, т. е. что он защищён от свопа?

Хакер, в твоём варианте получится 2 взаимоисключающих варианта через "и" - в чём должен быть смысл такого вопроса?

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: In-Memory SQL базы данных

Сообщение iGrok » 04.11.2014 (Вт) 2:39

Qwertiy писал(а):Разве ram-диск не гарантирует, что он находится именно в оперативной памяти, т. е. что он защищён от свопа?

Хакер, в твоём варианте получится 2 взаимоисключающих варианта через "и" - в чём должен быть смысл такого вопроса?

А что, вот реально до сих пор никто не врубился, что правильная формулировка - "изменит ситуацию, И это ровно ничего не даст"?
label:
cli
jmp label

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 04.11.2014 (Вт) 3:42

iGrok писал(а):А что, вот реально до сих пор никто не врубился, что правильная формулировка - "изменит ситуацию, И это ровно ничего не даст"?

Что в ней правильного, если варианты "изменит ситуацию" и "это ничего не даст" взаимосключающие?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: In-Memory SQL базы данных

Сообщение Хакер » 04.11.2014 (Вт) 5:54

Qwertiy писал(а):Что в ней правильного, если варианты "изменит ситуацию" и "это ничего не даст" взаимосключающие?

Да с чего бы это? Лежит пациент без признаков жизни. Задача: его спасти (реанимировать). Для этого его решают сжечь. Сожгли. Теперь лежит уже не тело, а кучка пепла.

Изменилась ли ситуация? Да, очень круто изменилась.
Дало ли это что-то? Нет, ничего не дало.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: In-Memory SQL базы данных

Сообщение ger_kar » 04.11.2014 (Вт) 8:14

Qwertiy писал(а):Что в ней правильного, если варианты "изменит ситуацию" и "это ничего не даст" взаимосключающие?
Вот именно взаимоисключающие. И смысл вопроса был в этом. Либо применение диска изменит ситуацию, либо не изменит. Либо то, либо другое. Вопрос был задан именно так, через или. Причем тут и?
Бороться и искать, найти и перепрятать

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: In-Memory SQL базы данных

Сообщение Хакер » 04.11.2014 (Вт) 8:49

Выше всё написано. Желающий понять — да поймёт.

Вот iGrok понимает, а Qwertiy и ger_kar тормозят.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: In-Memory SQL базы данных

Сообщение iGrok » 04.11.2014 (Вт) 15:53

ger_kar писал(а):
Qwertiy писал(а):Что в ней правильного, если варианты "изменит ситуацию" и "это ничего не даст" взаимосключающие?
Вот именно взаимоисключающие. И смысл вопроса был в этом. Либо применение диска изменит ситуацию, либо не изменит. Либо то, либо другое. Вопрос был задан именно так, через или. Причем тут и?

Изменит ли применение рамдиска ситуацию? Да, изменит. Теперь данные будут валяться на рамдиске, а не где-то ещё.
Изменит ли ситуацию применение для тех же целей флешки, внешнего диска, сетевого диска? Да, изменит. Как не изменить-то?

Даст ли что-то расположение данных, с которыми ты работаешь, в оперативной памяти по сравнению с расположением данных, с которыми ты работаешь, в оперативной памяти?
label:
cli
jmp label

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 04.11.2014 (Вт) 23:10

Хакер писал(а):Вот iGrok понимает, а Qwertiy и ger_kar тормозят.

Я-то понял. Понял версию, которую ты хочешь услышать, но не хочешь прямым текстом подтвердить, что она верна.
А ещё я понял, что ты утверждаешь (и не только тут), что виндоуз достаточно хитро работает с памятью (в плане использования свопа и файлов), но при этом не хочешь отвечать на конкретные вопросы.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: In-Memory SQL базы данных

Сообщение iGrok » 05.11.2014 (Ср) 1:22

Qwertiy писал(а):но не хочешь прямым текстом подтвердить, что она верна.

Ты как будто первый день на форуме. Когда это Хакер на что-то отвечал прямым текстом? Ну, кроме больших статей, конечно. :)
label:
cli
jmp label

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 05.11.2014 (Ср) 3:41

А может я хочу прочитать большую статью? ;)

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: In-Memory SQL базы данных

Сообщение ger_kar » 05.11.2014 (Ср) 6:16

Тут в принципе можно поставить рад экспериментов и на практике доказать или опровергнуть утверждение Файловая база = База в памяти.
Но я думаю, что с вероятностью 90% база данных в памяти будет гораздо производительней, особенно при работе с небольшими объемами данных (до 1000 строк).
Бороться и искать, найти и перепрятать

След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13

    TopList