Главная страница
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.57 MB
Время: 0.025 c
1-1200679747
ilkz
2008-01-18 21:09
2008.10.19
Приложение и DLL


15-1219934803
kaif
2008-08-28 18:46
2008.10.19
Кто-нибудь может перевести?


2-1221127435
mefodiy
2008-09-11 14:03
2008.10.19
Черно-белая печать на цветном принтере


2-1221212975
Alex_C
2008-09-12 13:49
2008.10.19
Установить формат даты и времени


15-1219719674
Slider007
2008-08-26 07:01
2008.10.19
С днем рождения ! 26 августа 2008 вторник