Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 15, 2016 12:25:40

Sova
Зарегистрирован: 2015-05-19
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

SQL база и работа с ней

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

мне нужно сохранять массив данных - температура, № датчика и дата время. понятно что это лучше хранить в какой то базе данных, например в SQL, т.е. это наверное должен быть “db ” файл где хранятся таблицы..
Я с SQL никогда не работал, подскажите плиз, как доустановить библиотеку SQL, и как работать с этой БД?
стоит Pytton3.4.

Офлайн

#2 Фев. 15, 2016 12:28:21

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

SQL база и работа с ней

Там не библиотека нужна, а драйвер. Он зависит от БД, которую Вы выбрали. Чтобы просто потренироваться хватить и sqlite. Она идет в комплекте с питоном. Если надумаете использовать ORM - sqlalhcemy.

Офлайн

#3 Фев. 15, 2016 13:22:47

Sova
Зарегистрирован: 2015-05-19
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

SQL база и работа с ней

Есть где то хоть пример? или описание как с этим работать? Заранее благодарен за помощь в освоении.

Офлайн

#4 Фев. 15, 2016 13:27:45

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

SQL база и работа с ней

Вы вообще никакую информацию не даете. По работе с sqlite без ORM можно глянуть в блоге мной очень уважаемого JOHN_16: нужная статья в блоге

Офлайн

#5 Фев. 15, 2016 13:51:29

Sova
Зарегистрирован: 2015-05-19
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

SQL база и работа с ней

О какой информации вы говорите?

4kpt_IV
Вы вообще никакую информацию не даете.
Вы скажите что еще дополнительно нужно сказать или показать, но как мне кажется (субьективно) я дал описание таблицы, которая будет создаваться и потом обрабатываться. Могу в екселе нарисовать..
За совет
4kpt_IV
По работе с sqlite без ORM можно глянуть в блоге мной очень уважаемого JOHN_16: нужная статья в блоге
большое спасибо..

Офлайн

#6 Фев. 15, 2016 15:01:35

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

SQL база и работа с ней

Имеется ввиду:
1. Объем данных (предполагаемое количество полей).
2. Структура данных (поля по-типам).
3. Необходимая скорость получения данных.
4. Защищенность данных.

Офлайн

#7 Фев. 15, 2016 15:45:53

Sova
Зарегистрирован: 2015-05-19
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

SQL база и работа с ней

таблица 1:
7 полей
дата время (31.05.2014 23:40:03); bool; float; текст (Инициализация бункера); bool; bool; bool.

количество строк таблицы 1 - 100000 (данный пишутся каждую секунду)


таблица 2:
13 полей
дата (31.05.2014); float; unsigned short int; unsigned short int; float; unsigned short int; unsigned short int; float; unsigned short int; unsigned short int; float; unsigned short int; unsigned short int;

количество строк таблицы 2 - 32

Таблица1 вносятся данные измерений, таблица 2 результат вычислений из таблицы 1 по суточно, т.е. в результате обработки 100000 строк имеем одну строку в табл 2.
ДАнные выдаются по запросу

Офлайн

#8 Фев. 15, 2016 16:26:38

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

SQL база и работа с ней

sqlite хватит за голову, если скорость получения данных для анализа не особо критична.

Офлайн

#9 Фев. 15, 2016 20:14:00

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

SQL база и работа с ней

Sova
температура, № датчика и дата время
Не факт что хорошо SQL подходит для такого использования. Такие данные обычно пишутся логгерами.
Для начала можете попробовать из списка https://en.wikipedia.org/wiki/Time_series_database
Существуют надстройки
https://pypi.python.org/pypi/kairos
http://graphite.readthedocs.org/en/latest/

Если нужна скорость то надо смотреть в сторону Column-oriented database (Bigtable,HBase)
Неплохо получается писать в hdf5 но надо заморачиваться буферизацией перед записью :(



Офлайн

#10 Фев. 15, 2016 20:25:41

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

SQL база и работа с ней

Sova
(данный пишутся каждую секунду)
Это очень медленно. Я имел ввиду потоки данных порядка 10^5 транзакций в секунду.
Sova
количество строк таблицы 1 - 100000
Sova
таблица 2 результат вычислений из таблицы 1 по суточно
Если все так жестко, то нет смысла использовать sqlite. Такие данные обычно просто циклически пишут в файл фиксированного размера.
Вопрос только в том, насколько вы готовы терять часть данных при сбоях железа, насколько важно жестко синхронизировать содержимое таблицы 1 и таблицы 2.

Я в данном случае настроил бы logging и не парился.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version