-
08.11.2010, 16:21 #46
- Регистрация
- 04.09.2008
- Адрес
- Одесса, Украина
- Возраст
- 55
- Сообщений
- 1,959
- Записей в дневнике
- 2
- Поблагодарили
- 113
- Поблагодарил
- 161
Последний раз редактировалось UR5FCM; 08.11.2010 в 16:21. Причина: Добавлено сообщение
Log4Win аппаратный журнал для повседневных связей и соревнований http://log4win.ucoz.net/
-
08.11.2010, 16:24 #47
-
08.11.2010, 16:25 #48
- Регистрация
- 28.02.2010
- Адрес
- Киев
- Возраст
- 48
- Сообщений
- 637
- Поблагодарили
- 80
- Поблагодарил
- 34
Ну это то отпадает по причине subjа
Ну и за Oracle для лога... у нее совсем другие задачи, под которые нужны другие ресурсы....
Я много времени работал с Firebird, еще со времен Interbase.... если выбирать между Firebird и PostgreSQL, я бы выбрал последнюю.... у себя в логе отказался от Firebird... на 100000 записей заметно проигрывает в скорости Access, Firebird при большой базе часто ложится причем с разрушениями на физическом уровне... можно сказать в одинаковых условиях эксплуатировал 2 БД...
единственное что удобно.. это SQL а так бы можно было бы обойтись локальной БД....Последний раз редактировалось UT4UKW; 08.11.2010 в 16:48.
TX: FT-897D Ant: ECO Vertical 7+
-
08.11.2010, 16:35 #49
-
08.11.2010, 16:44 #50
- Регистрация
- 28.02.2010
- Адрес
- Киев
- Возраст
- 48
- Сообщений
- 637
- Поблагодарили
- 80
- Поблагодарил
- 34
-
08.11.2010, 16:59 #51
- Регистрация
- 03.02.2006
- Возраст
- 52
- Сообщений
- 18,868
- Поблагодарили
- 9084
- Поблагодарил
- 4813
73 de RX4HX, Alexei, http://rx4hx.qrz.ru
Ant.: UW4HW, Pwr.: ~500 Wtts
-
08.11.2010, 17:00 #52
- Регистрация
- 04.09.2008
- Адрес
- Одесса, Украина
- Возраст
- 55
- Сообщений
- 1,959
- Записей в дневнике
- 2
- Поблагодарили
- 113
- Поблагодарил
- 161
Log4Win аппаратный журнал для повседневных связей и соревнований http://log4win.ucoz.net/
-
08.11.2010, 17:08 #53
- Регистрация
- 28.02.2010
- Адрес
- Киев
- Возраст
- 48
- Сообщений
- 637
- Поблагодарили
- 80
- Поблагодарил
- 34
я имел ввиду Firebird... не так выразился
у меня сейчас эксплутируется Firebird на кассовых местах в сети гипермаркетов... постоянные проблемы.. с ним... размер баз около гига... больше это уже траблы начинаются... может быть конечно в контексте задачи для лога... это не будет проявлятся... но все-же.... при PostgreSQL такого не было....плюс у последнего синтаксис нормальный... на Oracle похож плюс он разрабатывался изначально под линукс... только с 8й верии винду поддерждивать начал....плюс если что с вебом чудесно дружит...TX: FT-897D Ant: ECO Vertical 7+
-
08.11.2010, 17:26 #54
- Регистрация
- 26.07.2009
- Сообщений
- 3,317
- Поблагодарили
- 291
- Поблагодарил
- 121
-
08.11.2010, 18:12 #55
- Регистрация
- 12.03.2007
- Адрес
- Грац, Австрия - Санкт-Петербург, Россия
- Возраст
- 60
- Сообщений
- 1,749
- Поблагодарили
- 375
- Поблагодарил
- 160
Нет не для вас... ошибся в копировании ответа. А по поводу concurrency для доступа
пользователей в SQL Server CE - неправда ваша... Читаем внимательно:
"SSCE Concurrency:
SSCE allows multiple connections to the same database (.sdf file) from the same application or
even multiple applications on the same computer. This gives you more freedom to structure your
application as needed, such as allowing the user to continue to interact with data while performing
synchronization with a back-end database, or to have multiple applications on the same machine
share an SSCE data store. Transactional concurrency locks are made by the database engine to
prevent concurrent connections from accessing the same records at the same time. The technical
limit on concurrent connections for a single database is 256, but 70-80 is a better practical limit
from a performance perspective."
Взято из официальной документации. Через любую терминальную сессию все работает.
По поводу базы для линукса. А кто мешает использовать VistaDB, как альтернативу? Размер ее
сетапа всего 1,291 KB. Поддерживает LAN multi user support (shared network drive), SQL Views,
T-SQL Stored Procs/UDFs, Full Text Search (FTS) indexes - все, что надо есть. Для любителей
писать код под Mono в линуксе тоже все есть. И исходные тексты прилагаются.73! Михаил (OE6MAF) :: HB9/OE6MAF, DL/OE6MAF
-
08.11.2010, 18:18 #56
- Регистрация
- 23.07.2009
- Адрес
- Москва_кантемировская
- Сообщений
- 3,522
- Поблагодарили
- 574
- Поблагодарил
- 552
-
08.11.2010, 18:27 #57
- Регистрация
- 28.02.2010
- Адрес
- Киев
- Возраст
- 48
- Сообщений
- 637
- Поблагодарили
- 80
- Поблагодарил
- 34
" from the same application or
even multiple applications on the same computer" ключевая фраза на одном и том-же компьютере... другими словами это не полноценный сервер БД как Firebird, PostgreSQL и т.д...это тот-же локальный файл... доступ к которому реализован через SQL... основная идея была упростить обмен и перенос данных между копьютером и PDA....
Это не то... через терминальную сессию и Access работает... да в принципе так ли нужна многопользовательность если в 95% лог будет использоваться дома в монопольном режиме
VistaDB под Net... зачем писать лог под виндовую базу, чтобы потом портировать под линукс... изначальная идея была сделать лог именно под линукс? да и как показывает практика... все эти базы выглядят хорошо в описании и на картинках... а потом такие грабли начинаются... а ведь БД это основа... ИМХО лучше использовать проверенный временем движек....
Вспомнил... PostgreSQL на унбунту ставится с полпинка... я как-то писал одно приложение на Java+PostgreSQL... казалось бы написаное однажды работает везде... а не тут - то было...Последний раз редактировалось UT4UKW; 08.11.2010 в 18:33.
TX: FT-897D Ant: ECO Vertical 7+
-
08.11.2010, 18:46 #58
- Регистрация
- 25.10.2010
- Сообщений
- 87
- Поблагодарили
- 19
- Поблагодарил
- 7
Последовал вашим рекомендациям. Создал простенький скрипт и запустил
Вот скрипт:
#! / bin / bash
mysql -h localhost -u mysqladm -pmysqlpass -e "DROP DATABASE IF EXISTS hamlog;
CREATE DATABASE hamlog DEFAULT CHARACTER SET utf8;
USE hamlog; CREATE TABLE qsolog (
dateutc DATETIME NOT NULL, freq INT UNSIGNED NOT NULL, callsign VARCHAR(16) NOT NULL, mode ENUM('CW', 'SSB', 'FM', 'AM', 'RTTY', 'SSTV', 'PSK31', 'PSK63', 'PSK125', 'PSK250',
'QPSK31', 'QPSK63', 'QPSK125', 'QPSK250', 'MT63', 'AX25', 'AMTOR', 'MFSK', 'Olivia',
'Contestia', 'FSK441', 'JT6M', 'JT65', 'ROS', 'FeldHell', 'FM_Hell',
'usrdef1', 'usrdef2', 'usrdef3', 'usrdef4', 'usrdef5', 'usrdef6', 'usrdef7', 'usrdef8',
'usrdef9') NOT NULL, rsts SMALLINT UNSIGNED NOT NULL,
rstr SMALLINT UNSIGNED NOT NULL, qthloc VARCHAR(6) NULL,
qslvia ENUM('no', 'buro', 'direct', 'manager', 'LoTW', 'eQSL') NOT NULL DEFAULT 'buro',
qsls DATETIME NULL, qslr DATETIME NULL, info VARCHAR(80) DEFAULT '',
UNIQUE KEY qso(dateutc, freq, callsign) );" && du -ah / var / lib / mysql / hamlog /
echo -e "------\nInsert 1000 Records"
for((F=14200000; F < 14201000; F++)); do mysql -hlocalhost -umysqladm -pmysqlpass -e "INSERT qsolog
(dateutc, freq, callsign, mode, rsts, rstr, qthloc, qslvia, qsls, qslr) VALUES
(NOW(), $[14000001 + $F], 'UR3LCM', 'SSB', 599, 599, 'KO80ca', 'direct', NOW(), NOW());" hamlog
done; du -ah / var / lib / mysql / hamlog /
Вот результат работьі:
[ur3lcm ~]$ . / make_hamlog.sh
12K / var / lib / mysql / hamlog / qsolog.frm
4, 0K / var / lib / mysql / hamlog / qsolog.MYI
0 / var / lib / mysql / hamlog / qsolog.MYD
4, 0K / var / lib / mysql / hamlog / db.opt
24K / var / lib / mysql / hamlog /
------
Insert 1000 Records
12K / var / lib / mysql / hamlog / qsolog.frm
20K / var / lib / mysql / hamlog / qsolog.MYI
60K / var / lib / mysql / hamlog / qsolog.MYD
4, 0K / var / lib / mysql / hamlog / db.opt
100K / var / lib / mysql / hamlog /
[ur3lcm ~]$
Получил: БД без записей - 24Кб, БД с 1000 записей - 100Кб
БД проиндексирована по полям (DateUTC, CallSign, Frequency).
mysql 5.0.22
Где искать анонсированьій Вами баласт ?
SRI На остальньіе вопросьі постараюсь ответить позже.Последний раз редактировалось UR3LCM; 08.11.2010 в 18:58. Причина: Добавлено сообщение
GL es 73 de Ihor UR3LCM
-
08.11.2010, 18:57 #59
- Регистрация
- 12.03.2007
- Адрес
- Грац, Австрия - Санкт-Петербург, Россия
- Возраст
- 60
- Сообщений
- 1,749
- Поблагодарили
- 375
- Поблагодарил
- 160
Как раз наоборот... линукс для "профей", жалко под него мало программ для нас.
А так система не убиваемая - по стабильности лучше виндоусовских форточек в 100 раз.
Добавлено через 10 минут
Ну и задам резонный вопрос: а какая страна по DXCC у UR3LCM? Где то самое поле?
Следующий момент, типовая ошибка: у вас всего одно поле Enum для QSLVia. И как,
простите пользователю узнать, а есть ли у него подтверждение в LoTW или eQSL?
Там же комбинаторика будет... минимум: LoTW - 0 или 1, и eQSL - 0 или 1.
Про поддержку DX cluster и CAT ничего не написали, как вы будете реализовывать
все это. Про номера в контесте с буквами тоже...
На ваш вопрос, где искать "балласт" - ответ: в нормальной, структурированной под наши
задачи базе. Например, UR5EQF, RX4HX. Там гораздо больше функций. Или даже в базе
от N1MM. Пока у вас очень примитивно, сорри.
Ну и последнее. Вы серьезно считаете, что вот такая одна табличка может являться
полноценным логом? Если да, то добавить нечего...Последний раз редактировалось RX1AL; 08.11.2010 в 18:57. Причина: Добавлено сообщение
73! Михаил (OE6MAF) :: HB9/OE6MAF, DL/OE6MAF
-
08.11.2010, 21:36 #60
- Регистрация
- 25.10.2010
- Сообщений
- 87
- Поблагодарили
- 19
- Поблагодарил
- 7
Первое, что приходит в голову - отслеживать момент изменения времени последней модификации файлов журнала.
Хм .. винда может сего и не знать. Дано не пользуюсь.
Добавлено через 22 минуты
Страна по DXCC, так как и ITU Zone, CQ Zone, оределяется из префикса callsign или лучше из QTH Loc.
UR3LCM QTH Loc: KO80ca -> CQ 16, ITU 29, а также URDA HA-01.
Хотя согласен, - такие поля БД должна содержать. Размер записи увеличится всего на два байта.
Я предполагаю, что во время qso звучит просьба: pse qsl via buro или
pse qsl direct only, но не pse qsl via all. Ответная qsl отправляется тем же путем.
Отсюда: qslvia ENUM('no','buro','direct','manager','LoTW','eQSL') NOT NULL DEFAULT 'buro',
Если принять правильньім, что подтверждать qso следует одновременно всеми возможньіми способами, то достаточно изменить на qslvia SET('no','buro','direct','manager','LoTW','eQSL'),
NB Размер поля не изменится.
Между DX-cluster (sockets библиотека) или CAT-интерфейсом (используя hamlib, как я понимаю) и БД находится промежуточное звено, т.е. наше клиентское приложение.
DX-cluster и hamlib используют разное представление данньіх.
Изменять все равно придется, в каком формате данньіе в БД не сохраняй.
О составном строении контест-рапорта тут уже вьісказьівал мнение Игорь UR5FMC, #27. С его мнением я согласен.
Структурированность БД должна не "балласт" создавать, а обеспечивать
целостнось и непротеворечивость данньіх, вместе с тем и обьем уменьшить.
А одна табличка только повторяет бумажньій журнал.
Если принять, что одна табличка размером в десять Мбайт является полноценньім логом, то для нее нет потребности использовать даже SQLite, не то, чтобьі еще и сервер подьімать. Все прелестно ложится в память. (разговор бьіл о вьіборе: клиент/серверная СУБД или встраиваемьій движок БД)
С помощью приведенного скрипта я в свободное время практически проверил ваше утверждение о якобьі большом обьеме служебньіх данньіх БД.
Для MySQL eтвержение не подтвердилось.
Будет время - проверю для SQLite.Последний раз редактировалось UR3LCM; 08.11.2010 в 21:36. Причина: Добавлено сообщение
GL es 73 de Ihor UR3LCM
Социальные закладки