Текущий архив: 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