Каков наиболее эффективный способ хранения больших массивов данных с плавающей запятой в mysql для доступа через django? - PullRequest
3 голосов
/ 29 апреля 2011

Я инженер-механик, который освоил функциональные возможности программирования, но мне не хватает полного понимания. Я искал ответ на этот вопрос, но ничего не смог найти.

Я создаю веб-приложение django для поиска и фильтрации тестовых данных, хранящихся в базе данных mysql. Мой вопрос касается лучшего способа хранения данных?

Данные представляют собой большие массивы чисел, длина которых может составлять 5000, и каждое число выглядит следующим образом: 0,000012341245345. Это измерения, снятые с акселерометров. Я не знаю, насколько точны все эти значимые цифры, но я хочу хранить все, как получаю.

Вопрос: Какой тип поля Django я бы использовал? Это поле не обязательно должно быть доступно для поиска. Я просто хочу получить данные при вызове.

Все в django похоже на юникод. Я читал об упаковочных числах как двоичных числах двойной точности. Но если я сохраню строку Unicode, например, «\ x1e1 \ x1d6 \ xea \ X00a2», это действительно поможет мне снизить требования к памяти?

Спасибо. Любая помощь приветствуется.

Ответы [ 2 ]

2 голосов
/ 29 апреля 2011

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

База данных double более чем достаточна для такого значения. Очевидно, что есть намного более значимые цифры, чем может точно дать преобразователь. Если существует какая-то цепочка хранения доказательств, сохраните значение в виде строки. Он может быть преобразован в float или double на лету, если это необходимо для расчета.

1 голос
/ 29 апреля 2011

На фрагментах django есть несколько фрагментов, которые помогут вам делать то, что вы хотите.

http://djangosnippets.org/snippets/1669/

http://djangosnippets.org/snippets/1597/

...