Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.10.19;
Скачать: CL | DM;

Вниз

Firebird Embedded vs SQLite   Найти похожие ветки 

 
Пробежал...   (2008-07-29 11:48) [0]

Никто не видел сравнения этих двух БД? Плюсы, минусы - отличие?

Нужна в принципе не очень сложная поддержка ansi sql.


 
Правильный$Вася   (2008-07-29 11:49) [1]


>  не очень сложная поддержка ansi sql.

тогда тебе без разницы


 
palva ©   (2008-07-29 11:52) [2]

FB лучше, если есть малейшая перспектива перехода на настоящий сервер или использования хранимых процедур, генераторов и т. д.


 
Пробежал...   (2008-07-29 11:53) [3]

интересуют другие мнения. Возможно, кто-то делал подобный выбор.


 
Пробежал...   (2008-07-29 11:56) [4]

palva, что такое генераторы? Те, что используются в FB для автоинкримента?
PK конечо нужны ;)


 
Пробежал...   (2008-07-29 12:05) [5]

А посоветуйте, пожалуйста, заодно связки, желательно попроще для работы с SQLite из delphi.

Или статейки на тему...


 
Anatoly Podgoretsky ©   (2008-07-29 12:17) [6]

> Пробежал...  (29.07.2008 11:48:00)  [0]

Это не та ли, которая хранит данные в текстовом формате и у которой колонки не имеют типа?


 
Пробежал...   (2008-07-29 12:21) [7]

SQLite? не знаю, начинаю читать про нее, судя по всему да, два типа - integer и text.


 
Пробежал...   (2008-07-29 12:28) [8]

и еще blob.

Вот вроде для введения неплохо - http://www.delphi.int.ru/articles/43/

Там и классы для доступа есть, удобно. Буду встраивать...


 
Пробежал...   (2008-07-29 12:34) [9]


> которая хранит данные в текстовом формате

не похоже, внутри файла БД очень даже бинарные данные.

БД судя по всему неплохая, тем более получила премию google.


 
Правильный$Вася   (2008-07-29 12:42) [10]


> получила премию google

в какой категории?


 
tesseract ©   (2008-07-29 12:45) [11]


> SQLite? не знаю, начинаю читать про нее, судя по всему да,
>  два типа - integer и text.


А Autoinc ? http://aducom.com/cen/download.php


 
ketmar ©   (2008-07-29 12:54) [12]

>[7] Пробежал… (2008-07-29 12:21:00)
>SQLite? не знаю, начинаю читать про нее, судя по всему да, два типа — integer и text.

только text. остальные конвертации «на лету».

---
Understanding is not required. Only obedience.


 
Anatoly Podgoretsky ©   (2008-07-29 13:03) [13]

> Пробежал...  (29.07.2008 12:21:07)  [7]

Да нет там типов у КОЛОНОК, эта база была разработана для Perl


 
Пробежал...   (2008-07-29 13:04) [14]


> в какой категории?

http://osdir.com/Article6677.phtml


> А Autoinc ? http://aducom.com/cen/download.php


http://www.codenet.ru/db/other/sqlite/

"Вставим несколько записей в данную таблицу. Отмечу, что в инструкции создания таблицы для каждого поля мы задали тип данных для его значений, этот тип данных игнорируется программой "SQLite". Система управления базой данных "SQLite" довольно свободно относится к определению типов данных, что не характерно для стандарта языка SQL. Типизация данных в "SQLite" основывается на так называемом принципе "typeless", означающий игнорирование информации о типе данных в определении столбцов таблицы при ее создании с помощью инструкции CREATE TABLE. И все же лучше включать имена типов столбцов при объявлении таблиц, это повысит переносимость вашей базы данных. Имеется одно исключение из принципа "typeless" - это столбец типа INTEGER PRYMARY KEY (INTEGER не INT; INT PRIMARY KEY - удовлетворяет принципу "typeless"). Столбец с типом INTEGER PRIMARY KEY должен содержать 32-х битное целое число, попытка записать данные любого другого типа в столбец этого типа приведет к ошибке. Этот тип обычно используется перед спецификатором столбца AUTOINCREMENT, столбец с типом INTEGER PRIMARY KEY AUTOINCREMENT является ключевым столбцом таблицы, его значения генерируются автоматически"


> только text. остальные конвертации «на лету».

да, окромя PK так и есть по ходу...


 
atruhin ©   (2008-07-29 13:52) [15]

> [13] Anatoly Podgoretsky ©   (29.07.08 13:03)
> Да нет там типов у КОЛОНОК, эта база была разработана для
> Perl

Это было так в первых версиях. Начиная с версии 3:
Datatypes In SQLite Version 3
1. Storage Classes

Version 2 of SQLite stores all column values as ASCII text. Version 3 enhances this by providing the ability to store integer and real numbers in a more compact format and the capability to store BLOB data.
Each value stored in an SQLite database (or manipulated by the database engine) has one of the following storage classes:
   *     NULL. The value is a NULL value.
   *     INTEGER. The value is a signed integer, stored in 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value.
   *     REAL. The value is a floating point value, stored as an 8-byte IEEE floating point number.
   *     TEXT. The value is a text string, stored using the database encoding (UTF-8, UTF-16BE or UTF-16-LE).
   *     BLOB. The value is a blob of data, stored exactly as it was input.
Вообще если от БД нужно только хранилище, с контролем целостности и 1-5 пользователей, то SQLite неплохой выбор. Когда то использовал: надежная и очень быстрая (быстрая в однопользовательском доступе).
У нас были довольно сложные выборки: диапазон, группировка, математика из таблиц в 2-5 млн. записей, работала отлично.


 
tesseract ©   (2008-07-29 13:56) [16]


> надежная и очень быстрая (быстрая в однопользовательском
> доступе).


С потоками гемор, давно обещают поправить. Хотя и самому можно разобраться.


 
Anatoly Podgoretsky ©   (2008-07-29 14:00) [17]

> atruhin  (29.07.2008 13:52:15)  [15]

Вот то о чем я говорил

>> all column values as ASCII text


 
Slym ©   (2008-07-29 14:03) [18]

Anatoly Podgoretsky ©   (29.07.08 14:00) [17]
и тем неменее SQLite используется в серьезном ПО, например "Транспортная машина" ЦБРФ


 
atruhin ©   (2008-07-29 14:11) [19]

> [17] Anatoly Podgoretsky ©   (29.07.08 14:00)
> Вот то о чем я говорил
>
> >> all column values as ASCII text

Дак читать нужно внимательно!! Это в версии 2, а версия 3 вышла лет 5-7 назад


 
Пробежал...   (2008-07-29 14:15) [20]


> а версия 3 вышла лет 5-7 назад

ну так Подгорецкий родился куда раньше ;)


 
ketmar ©   (2008-07-29 14:16) [21]

>[13] Anatoly Podgoretsky © (2008-07-29 13:03:00)
>эта база была разработана для Perl

ты сегодня в ударе. больше этим не бейся, ты нам ещё нужен.

>[14] Пробежал… (2008-07-29 13:04:00)
>да, окромя PK так и есть по ходу…

да и он, по-моему, text, просто fixed length. но тут утверждать не буду.

>[16] tesseract © (2008-07-29 13:56:00)
>С потоками гемор, давно обещают поправить

оно как бы есть, но на самом деле лучше бы его не было. я в своё время писал «минисервер». %-)

>[18] Slym © (2008-07-29 14:03:00)
>и тем неменее SQLite используется в серьезном ПО

потому что при правильном применении она весьма шустра и надёжна. правда, не на винде, на винде у неё вечно какие-то проблемы.

---
Do what thou wilt shall be the whole of the Law.


 
tesseract ©   (2008-07-29 14:19) [22]


> и тем неменее SQLite используется в серьезном ПО, например
> "Транспортная машина" ЦБРФ


в Iphone тоже активно используеться. И в ряде других приложений.


 
Пробежал...   (2008-07-29 14:20) [23]


> С потоками гемор, давно обещают поправить. Хотя и самому
> можно разобраться.

можно поподробнее, мне это очень важно, многопотоковость во всю работает.

В чем гемор?

- в одновременном обращении к одной базе из разных потоков
- в одновременном обращении к разным базам из разных потоков
- вообще в вызове DLL-функций из разных потоков?


 
tesseract ©   (2008-07-29 14:26) [24]


> можно поподробнее, мне это очень важно, многопотоковость
> во всю работает.



> - в одновременном обращении к одной базе из разных потоков


Так делать низя. Приходиться делать поток на чтение /запись отдельный. По крайней мере для КПК - версии это справделиво до сих пор.


 
Пробежал...   (2008-07-29 14:36) [25]


> Приходиться делать поток на чтение /запись отдельный

потоком на чтение ты имеешь в виду SELECT, а на запись UPDATE / INSERT?


 
tesseract ©   (2008-07-29 14:41) [26]


> потоком на чтение ты имеешь в виду SELECT, а на запись UPDATE
> / INSERT?


Нет. Реальный поток в  поток передавал данные, а он уже их уже загонял / получал. Там что=то было про блокировки, но я решил, что так быстрее и надёжнее :-)


 
ketmar ©   (2008-07-29 14:50) [27]

>[23] Пробежал… (2008-07-29 14:20:00)
>В чем гемор?


>- в одновременном обращении к одной базе из разных потоков
да. читать можно, писать — только один. надо MREW.

>- в одновременном обращении к разным базам из разных потоков
нет, достаточно открыть несколько соединений.

>- вообще в вызове DLL-функций из разных потоков?
см. выше.

блокировки есть, но как-то они фиговато работали в ранних v3. да и не проверял, как оно на винде. что сейчас — не знаю.

я форкал отдельный процесс и общался с ним через unix socket (ну, это pipe такой %-). на винде — поток и тоже пайп. можно без пайпа, конечно, суть не меняется, всё равно MREW нужен.

---
Understanding is not required. Only obedience.


 
ketmar ©   (2008-07-29 14:51) [28]

>[27] ketmar © (2008-07-29 14:50:00)
э… насчёт «читать можно» — есть некоторый шанс, что память мне жестоко изменила.

---
All Your Base Are Belong to Us


 
tesseract ©   (2008-07-29 14:57) [29]


> э… насчёт «читать можно» — есть некоторый шанс, что память
> мне жестоко изменила.


Читать и писать одновременно у меня не получалось.


 
Anatoly Podgoretsky ©   (2008-07-29 14:58) [30]


> Slym ©   (29.07.08 14:03) [18]

Ну мало ли в каких банках работают озабоченые программисты.


 
Anatoly Podgoretsky ©   (2008-07-29 14:59) [31]

> atruhin  (29.07.2008 14:11:19)  [19]

Это как то опровергает мое замечание?


 
Anatoly Podgoretsky ©   (2008-07-29 15:00) [32]

> ketmar  (29.07.2008 14:16:21)  [21]

По всем пунктам, ты похвалил так, как будто помоями облил, правда по делу.


 
tesseract ©   (2008-07-29 15:06) [33]


> По всем пунктам, ты похвалил так, как будто помоями облил,
>  правда по делу.


Я на  MS SQL могу Мрию  с помоями натравить уже.


 
Anatoly Podgoretsky ©   (2008-07-29 15:15) [34]

> tesseract  (29.07.2008 15:06:33)  [33]

Да я верю.


 
pasha_golub ©   (2008-07-29 15:44) [35]

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


 
tesseract ©   (2008-07-29 16:10) [36]


> типа StrToIntDef каждый раз когда я беру значение из набора
> данных.


Да рабаотает там всё. field.ASЧегоВамТам отлично справляеться.


 
Пробежал...   (2008-07-29 16:36) [37]


> я форкал отдельный процесс и общался с ним через unix socket

а какой смысл? Потому что из разных потоков было обращение? Ну тогда тебе надо было синхронизировать передачу данных. Не проще ли синхронизировать какой-нибудь поток в процессе?


 
tesseract ©   (2008-07-29 16:50) [38]


> а какой смысл?


Это философия linux, fork делает полную копии потока со всеме данными/ дескрипторами. Хотелось бы такую в винду :-)


 
Игорь Шевченко ©   (2008-07-29 16:54) [39]


> Это философия linux, fork делает полную копии потока со
> всеме данными/ дескрипторами. Хотелось бы такую в винду
> :-)


Сделать можно, только сразу возникает столько вопросов, что ты их решать замучаешься


 
pasha_golub ©   (2008-07-29 16:55) [40]


> tesseract ©   (29.07.08 16:10) [36]

Простите меня, любезнейший. Но котлеты от Sarcophagidae предпочитаю иметь отдельно. В программировании как в армии - все должно быть подстрижено и покрашено в белый цвет. А именно. Иметь тип.



Страницы: 1 2 3 вся ветка

Текущий архив: 2008.10.19;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.006 c
4-1198242400
Dim07
2007-12-21 16:06
2008.10.19
Готовность принтера


4-1198047433
Vladimir
2007-12-19 09:57
2008.10.19
Hook на мышь и клавиатуру только в своем приложении


2-1221424850
programmer90
2008-09-15 00:40
2008.10.19
SplashScreen


8-1187125306
Dr. Andrew
2007-08-15 01:01
2008.10.19
Где можно найти encoder-decoder для ogg файлов?


2-1221465868
Ruzzz
2008-09-15 12:04
2008.10.19
Какая версия Delphi официально поддерживает unicode-прилождения?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский