Уведомления

Группа в Telegram: @pythonsu

#1 Май 12, 2009 17:15:42

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

БД для работы с большим объёмом данных

Добрый
Пока решил остановится на MySQL
Зря. Искренне рекомендую взять постгри.



Офлайн

#2 Май 13, 2009 10:02:36

Добрый
От:
Зарегистрирован: 2009-04-16
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

БД для работы с большим объёмом данных

1. Если я правильно понимаю: MySQL распространяется по лицензии - GNU General Public License, т.е. я могу использовать её в любых целях?!

2. Попытался поставить MySQL на работе - безрезультатно. Инсталляция обрывается, какие-то проблемы с правами доступа. Администраторы порезали всё что было можно. Сейчас посмотрю PostgreSQL.

3. Появился вопрос: Файлы в формате (*.dbf) с помощью ydbf можно конвертировать в БД (PostgreSQL, Firebird, MySQL). Для последней БД есть небольшая программка - dbf2mysql, но она на С++.



Офлайн

#3 Май 13, 2009 11:58:25

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

БД для работы с большим объёмом данных

Добрый
1. Если я правильно понимаю: MySQL распространяется по лицензии - GNU General Public License, т.е. я могу использовать её в любых целях?!
Нет.
MySQL распространяется под двумя видами лицензий: бесплатно для OpenSource проектов (и для госучреждений, которые согласны с особенностями GPL v2) - GPL v2 (версия 2 - важна), для коммерческого софта - платно.
О версиях GPL можно почитать для ознакомления на Википедии: http://ru.wikipedia.org/wiki/GNU_General_Public_License
Там же есть ссылки на полные тексты каждой версии лицензии.
Добрый
2. Попытался поставить MySQL на работе - безрезультатно. Инсталляция обрывается, какие-то проблемы с правами доступа. Администраторы порезали всё что было можно. Сейчас посмотрю PostgreSQL.
Права админа нужны в любом случае.
Добрый
3. Появился вопрос: Файлы в формате (*.dbf) с помощью ydbf можно конвертировать в БД (PostgreSQL, Firebird, MySQL).
dbf - это всего лишь расширения для целого ряда файловых СУБД. Т.е. движок может быть разный, например DBase, Paradox, FoxPro…
Следует различать структуру таблиц и данные. В твоем случае структуру я бы рекомендовал создать заново для выбранной СУБД, т.к. типы полей файловых и серверных СУБД отличаются и не всегда совместимы.
После создания структуры таблиц данные туда, конечно же, можно будет закачать из старых dbf-файлов.
Для Postgres можно использовать:
http://wiki.postgresql.org/wiki/Converting_from_other_Databases_to_PostgreSQL
http://automatthias.wordpress.com/2006/07/21/convert-dbf-to-postgresql/
или написать свою утилиту :)



Офлайн

#4 Май 13, 2009 12:01:20

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

БД для работы с большим объёмом данных

В догонку.
Возможно, существующие утилиты конвертации могут сделать всю работу за тебя и я поторопился высказать совет о ручном создании структуры базы. Вариант: конвертировать и внести необходимые изменения в структуру тоже вполне рабочий и может быть даже предпочтительнее.



Офлайн

#5 Май 13, 2009 17:58:06

Добрый
От:
Зарегистрирован: 2009-04-16
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

БД для работы с большим объёмом данных

2Lexander:
# Программа будет для личного пользования, но если кому-то она пригодится я буду только рад.
# Почему предпочтительнее MySQL? После этой программы надо будет браться за сайт. Насколько я понял, при создании сайтов связка PHP и MySQL самая распространённая.
# С dbf более менее всё понятно. Мне бы несколько примеров работы с модулем уdbf для python.
# Большое спасибо за ссылки. Сейчас буду смотреть и разбираться.



Офлайн

#6 Май 13, 2009 18:16:52

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

БД для работы с большим объёмом данных

Добрый
С dbf более менее всё понятно. Мне бы несколько примеров работы с модулем уdbf для python.
У меня нет открытого/публичного кода с ydbf. Поясни, какой пример нужен, я попробую набросать.

P.S. Регулярно запихиваем в PostgreSQL данные из dbf-файлов (~2млн записей, ~300мб). Используются: psycopg2, sqlalchemy, ydbf.



Отредактировано (Май 13, 2009 18:23:52)

Офлайн

#7 Май 13, 2009 23:17:03

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

БД для работы с большим объёмом данных

Добрый
Программа будет для личного пользования
Для личного пользования и нужны старые данные за 5 лет?! Если не секрет, это что?
Этот же объем данных будешь пихать на сайт? Если да, то, я так понимаю, речь будет идти о выделенном сервере БД. Тогда можно посмотреть тесты Postgres и MySQL с включенным кешированием. Плюс рассмотреть вариант (зависит от планируемой нагрузки и ее типа) 2 баз: одна ридонли, вторая - для записи с последующей репликацией в первую.



Офлайн

#8 Май 14, 2009 00:40:48

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

БД для работы с большим объёмом данных

Lexander
Плюс рассмотреть вариант (зависит от планируемой нагрузки и ее типа) 2 баз: одна ридонли, вторая - для записи с последующей репликацией в первую.
Хм… Я такое видел лишь однажды… И это было совершенно избыточно, даже при тех объёмах данных… :-) Для того, чтобы смету раздуть.
Так что мне кажется, что когда человек сталкивается с такой нагрузкой, он уже знает, что ему надо и мускл уж точно не возьмёт.



Офлайн

#9 Май 14, 2009 07:43:49

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

БД для работы с большим объёмом данных

ZZZ
Lexander
Плюс рассмотреть вариант (зависит от планируемой нагрузки и ее типа) 2 баз: одна ридонли, вторая - для записи с последующей репликацией в первую.
Хм… Я такое видел лишь однажды… И это было совершенно избыточно, даже при тех объёмах данных… :-) Для того, чтобы смету раздуть.
А мне нравится такая структура. Причем рабочая база крутится в интранете, а вторая на веб-сервере и спроектирована по правилам OLAP. Правда репликации достаточно редки - пара раз в сутки.



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#10 Май 14, 2009 10:01:02

Добрый
От:
Зарегистрирован: 2009-04-16
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

БД для работы с большим объёмом данных

Lexander: Для личного пользования и нужны старые данные за 5 лет?! Если не секрет, это что?
Данные: ежемесячная бухгалтерская отчётность банков. Это статистическая информация нужна для построения модели оценки их финансовой надежности.

Lexander: Этот же объем данных будешь пихать на сайт?
Никак нет :) Эти задачи никак не связанны. В будущем необходимо будет разработать сайт. Думал пока делаю программу, заодно изучу и MySQL.

Посмотрел MySQL и PostgreSQL. Пришло чёткое понимание, что в связи со сложностью установки никто кроме меня этой программой пользоваться не будет, что немного огорчает. :| Для того чтобы устранить данное “препятствие” я решил обратиться к SQLite.

2j2a: У меня нет открытого/публичного кода с ydbf. Поясни, какой пример нужен, я попробую набросать.
# Произвольный пример экспорта небольшого файла dbf в базу данных SQlite, просто чтобы понять принцип работы. Я бы прикрепил кусочек своего файла, но не нашёл как это сделать.
# В книге Романа Сузи есть немножко информация о работе с SQLite. Но к сожалению ни слова про работу с dbf-файлами.
# Судя по обзору на omsk.lug.ru из всех существующих инструментов данного типа (dbfpy, py-dbase, idbf) ydbf наиболее быстрый. Посмотрел help который идёт к модулю, к сожалению мало что понял.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version