Где хранить данные?
- Михаил23
- adviser
- Сообщения: 219
- Зарегистрирован: 24 ноя 2008, 17:58
- Версия LabVIEW: 2009
- Откуда: Москва
Где хранить данные?
Есть задача хранить данные на локальном компе пользователя и периодически к ним обращаться.. Данные представляют из себя структуру
Папка
Под папка
Сигнал
.......
Сигнал
Под папка
Сигналы
............
Папка....
Сигналов примерно около 1000 в каждой под папке. Длинна каждого примерно 500тыс измерений.
У меня есть два варианта либо mdb Access или файлы разбросанные по папкам на диске(А может еще что?). В первом варианте(база) смущает быстродействие.Будет ли все это быстро читаться? Во втором неудобство хранения. Прошу высказать свои мысли поэтому поводу.
Папка
Под папка
Сигнал
.......
Сигнал
Под папка
Сигналы
............
Папка....
Сигналов примерно около 1000 в каждой под папке. Длинна каждого примерно 500тыс измерений.
У меня есть два варианта либо mdb Access или файлы разбросанные по папкам на диске(А может еще что?). В первом варианте(база) смущает быстродействие.Будет ли все это быстро читаться? Во втором неудобство хранения. Прошу высказать свои мысли поэтому поводу.
-
IvanLis
- guru
- Сообщения: 5464
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 87 раз
Re: Где хранить данные?
Давно уже не писал под Access, но раньше работал через ADO, там быстродействие нормальное. Правда все зависит от того, как организована работа с базой. Т.е. как запись осуществляется, отдельно каждое поле или сразу всю запись (record) писать. Как часто UpDate делаете и т.д.Михаил23 писал(а):Сигналов примерно около 1000 в каждой под папке. Длинна каждого примерно 500тыс измерений.
У меня есть два варианта либо mdb Access или файлы разбросанные по папкам на диске(А может еще что?). В первом варианте(база) смущает быстродействие.Будет ли все это быстро читаться? Во втором неудобство хранения. Прошу высказать свои мысли поэтому поводу.
Там можно создавать поля с типом данных на подобии RAW, в него можно запихнуть все что угодно. Сейчас не помню точно, как называется.
500тыс измерений это примерно картинка bmp (8-bit) 800*600 (чуть больше), так что должно фурычить нормально.
А сколько всего сигналов планируется записывать?
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
- Михаил23
- adviser
- Сообщения: 219
- Зарегистрирован: 24 ноя 2008, 17:58
- Версия LabVIEW: 2009
- Откуда: Москва
Re: Где хранить данные?
Ну верхнего предела конечно нет. Тут все зависит от того что сам пользователь на конфигурирует.Ну по моим оценкам порядка 7-8 тысяч будет всего хранится. Ну а считываться одновременно будет не более 1000 сигналов.
-
- VIP
- Сообщения: 1337
- Зарегистрирован: 03 фев 2010, 00:42
- Награды: 6
- Версия LabVIEW: 6.1 - 2024
- Откуда: Германия
- Благодарил (а): 1 раз
- Поблагодарили: 44 раза
- Контактная информация:
Re: Где хранить данные?
Я тоже за то, чтобы TDMS попробоватьViktor писал(а):Может есть смысл использовать TDMS Write?
http://zone.ni.com/devzone/cda/tut/p/id/3727
Ещё есть Citadel
http://zone.ni.com/devzone/cda/tut/p/id/6579
И вот любопытная статья (но это так, факультативно, просто любопытно попробовать)
http://habrahabr.ru/blogs/net/137038/
-
IvanLis
- guru
- Сообщения: 5464
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 87 раз
Re: Где хранить данные?
В Delphi делали программу, для работы с базой Access.Михаил23 писал(а):Ну верхнего предела конечно нет. Тут все зависит от того что сам пользователь на конфигурирует.Ну по моим оценкам порядка 7-8 тысяч будет всего хранится. Ну а считываться одновременно будет не более 1000 сигналов.
В базе хранились видео фрагменты, размером примерно 10-50 мег.
Тестировалось при 100 видео фрагментах, работало нормально.
Но лучше конечно использовать специализированные, заточенные для этого средства.
Сам с TDMS не работал, пока необходимости не возникало .
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
Chupakabra
- professional
- Сообщения: 360
- Зарегистрирован: 21 янв 2009, 10:50
- Награды: 1
- Версия LabVIEW: 2015
- Откуда: Москва
- Поблагодарили: 4 раза
- Контактная информация:
Re: Где хранить данные?
Подскажите, а TDMS файл можно программно дополнять каналами/группами с течением времени? Т.е. что-то записал, закрыл. Потом еще новыую группу или канал добавил и опять записал, закрыл.
А еще можно ли удалять старые каналы?
На последний вопрос, кстати, нашел очень странный ответ, который означает, что нормальным способом нельзя :(
http://digital.ni.com/public.nsf/allkb/ ... 3F0059E476
А еще можно ли удалять старые каналы?
На последний вопрос, кстати, нашел очень странный ответ, который означает, что нормальным способом нельзя :(
http://digital.ni.com/public.nsf/allkb/ ... 3F0059E476
- Михаил23
- adviser
- Сообщения: 219
- Зарегистрирован: 24 ноя 2008, 17:58
- Версия LabVIEW: 2009
- Откуда: Москва
Re: Где хранить данные?
Безусловно я тоже сначала думал о файлах TDMS. Но пришел к выводу что они мне не подойдут.По той причине, что там возможно только два уровня вложенности(группа каналов и каналы)(http://zone.ni.com/devzone/cda/tut/p/id/3727). А у меня структура чуток более сложная(примерно 4-5 уровней). Поэтому от них пришлось отказаться. Citadel конечно хорошо, но дорого и на компе у каждого пользователя не поставишь. Поэтому наверно попробую начать с Access.
- Михаил23
- adviser
- Сообщения: 219
- Зарегистрирован: 24 ноя 2008, 17:58
- Версия LabVIEW: 2009
- Откуда: Москва
Re: Где хранить данные?
А можно туда сигнал в виде выборки по времени записать? И можно его от туда доставать с метки времени Т1 по Т2?IvanLis писал(а):... Правда все зависит от того, как организована работа с базой. Т.е. как запись осуществляется, отдельно каждое поле или сразу всю запись (record) писать. Как часто UpDate делаете и т.д.
Там можно создавать поля с типом данных на подобии RAW, в него можно запихнуть все что угодно. Сейчас не помню точно, как называется.
500тыс измерений это примерно картинка bmp (8-bit) 800*600 (чуть больше), так что должно фурычить нормально.
А если туда файл двоичный запихивать он там хранится в виде ссылки? или как? Ну т.е. пользователь его на диске не уведет?
-
IvanLis
- guru
- Сообщения: 5464
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 87 раз
Re: Где хранить данные?
Так там и так хранятся данные в двоичном виде, но хранятся в поле таблицы.Михаил23 писал(а): А можно туда сигнал в виде выборки по времени записать? И можно его от туда доставать с метки времени Т1 по Т2?
А если туда файл двоичный запихивать он там хранится в виде ссылки? или как? Ну т.е. пользователь его на диске не уведет?
Читать с определенной позиции наверное можно, но я такого не делал.
Зато вспомнил, что за тип: BLOB - Binary Large OBject - большой бинарный объект
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
- Михаил23
- adviser
- Сообщения: 219
- Зарегистрирован: 24 ноя 2008, 17:58
- Версия LabVIEW: 2009
- Откуда: Москва
Re: Где хранить данные?
Ясно. Но сейчас там такой тип убрали. Зато есть OLE Object и "Вложение"
Вот такая прикольная вещь:
Выдержка из Help:
"Новая функциональная возможность ACCDB-файлов Office Access 2007. В записи базы данных можно вкладывать изображения, файлы электронных таблиц, документы, диаграммы и другие файлы поддерживаемых типов точно так же, как в сообщения электронной почты. Можно также просматривать и редактировать вложенные файлы в зависимости от параметров, заданных разработчиком базы данных для поля с типом данных «Вложение». Эти поля дают большую свободу действий, чем поля с типом данных «Поле объекта OLE», и более рационально используют место для хранения, поскольку не создают растровые изображения исходного файла."
А ведь можно наверно и TDMS вложить?
Вот такая прикольная вещь:
Выдержка из Help:
"Новая функциональная возможность ACCDB-файлов Office Access 2007. В записи базы данных можно вкладывать изображения, файлы электронных таблиц, документы, диаграммы и другие файлы поддерживаемых типов точно так же, как в сообщения электронной почты. Можно также просматривать и редактировать вложенные файлы в зависимости от параметров, заданных разработчиком базы данных для поля с типом данных «Вложение». Эти поля дают большую свободу действий, чем поля с типом данных «Поле объекта OLE», и более рационально используют место для хранения, поскольку не создают растровые изображения исходного файла."
А ведь можно наверно и TDMS вложить?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 3 Ответы
- 629 Просмотры
-
Последнее сообщение IvanLis