|
Запись во множество файлов
|
|||
---|---|---|---|
#18+
Подскажите советом. Необходимо писать данные сразу в 1000 файлов, как лучше организовать. Вот код: Код: c# 1. 2. 3. 4. 5. 6. 7.
В каждом цикле открывает файл, записывает и закрывает и это все будет крутится в бесконечном цикле. Мой вариант считаю не верным т.к. приходится постоянно открывать и закрывать файл, можно ли иначе? Притом, что в другом потоке могут эти файлы считывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2014, 12:00 |
|
Запись во множество файлов
|
|||
---|---|---|---|
#18+
А как можно записать в файл не открыв его? Делайте запрет на чтение/запись если файл используется и ждите пока "освободится" ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2014, 12:29 |
|
Запись во множество файлов
|
|||
---|---|---|---|
#18+
База данных, например? Вообще, не хватает информация. Что за данные пишутся, кто пишет, кто читает, как долго читает... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2014, 12:29 |
|
Запись во множество файлов
|
|||
---|---|---|---|
#18+
НахлобучБаза данных, например? Вообще, не хватает информация. Что за данные пишутся, кто пишет, кто читает, как долго читает... Как раз пишу логику в замен базы данных, чтоб оптимизировать ресурсы. Данные это показания с промышленных датчиков, 1000 уникальных датчиков с дискретностью 500ms, под каждый датчик файл. Читает эти файлы другой поток. Сейчас придумал кое что, держу массив с открытыми файлами. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
Уже лучше 600 мс, нов се равно много. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2014, 12:38 |
|
Запись во множество файлов
|
|||
---|---|---|---|
#18+
Это какое то безумие, Вы что желаете, из одного потока передать данные на обработку в другой поток? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2014, 12:39 |
|
Запись во множество файлов
|
|||
---|---|---|---|
#18+
ldarКак раз пишу логику в замен базы данных, чтоб оптимизировать ресурсы. Тогда прямая дорога в RabbitMQ, например. Поставщик заталкивает данные в очередь, а потребители (один или несколько) из нее читают и обрабатывают. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2014, 12:42 |
|
Запись во множество файлов
|
|||
---|---|---|---|
#18+
ldarНахлобучБаза данных, например? Вообще, не хватает информация. Что за данные пишутся, кто пишет, кто читает, как долго читает... Как раз пишу логику в замен базы данных, чтоб оптимизировать ресурсы. Данные это показания с промышленных датчиков, 1000 уникальных датчиков с дискретностью 500ms, под каждый датчик файл. Читает эти файлы другой поток. Сейчас придумал кое что, держу массив с открытыми файлами. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
Уже лучше 600 мс, нов се равно много. А писать данные с каждого датчика в отдельный файл - это наилучший вариант? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2014, 12:43 |
|
Запись во множество файлов
|
|||
---|---|---|---|
#18+
Belavik, Да, таким образом я файл размещаю в смысловые директории и таки образом экономлю 12 байт с каждой записи...Если все в один писать, то тогда лучше все разместить в БД только размер данных уже получится в 2 раза больше... а это > 5 миллиардов записей в месяц, 116 Гигабайт в месяц или 57 Гигабайт... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2014, 12:51 |
|
Запись во множество файлов
|
|||
---|---|---|---|
#18+
Где-то в степиЭто какое то безумие, Вы что желаете, из одного потока передать данные на обработку в другой поток? Один поток пишет файлы, архивирует. Другой поток или потоки читают эти файлы (запросы пользователей). ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2014, 12:53 |
|
Запись во множество файлов
|
|||
---|---|---|---|
#18+
ldarBelavik, Да, таким образом я файл размещаю в смысловые директории и таки образом экономлю 12 байт с каждой записи...Если все в один писать, то тогда лучше все разместить в БД только размер данных уже получится в 2 раза больше... а это > 5 миллиардов записей в месяц, 116 Гигабайт в месяц или 57 Гигабайт... И все эти данные всегда должны быть доступны для чтения, или какая-то часть становится неактуальной, устаревает? Какой средний размер файла? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2014, 12:54 |
|
Запись во множество файлов
|
|||
---|---|---|---|
#18+
Нахлобуч, почитаю, чет не слышал о этой платформы. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2014, 12:54 |
|
Запись во множество файлов
|
|||
---|---|---|---|
#18+
BelavikldarBelavik, Да, таким образом я файл размещаю в смысловые директории и таки образом экономлю 12 байт с каждой записи...Если все в один писать, то тогда лучше все разместить в БД только размер данных уже получится в 2 раза больше... а это > 5 миллиардов записей в месяц, 116 Гигабайт в месяц или 57 Гигабайт... И все эти данные всегда должны быть доступны для чтения, или какая-то часть становится неактуальной, устаревает? Какой средний размер файла? Файлы еще делятся по времени, по суткам, каждый файл ~2 метра ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2014, 12:58 |
|
Запись во множество файлов
|
|||
---|---|---|---|
#18+
ldarBelavik, Да, таким образом я файл размещаю в смысловые директории и таки образом экономлю 12 байт с каждой записи...Если все в один писать, то тогда лучше все разместить в БД только размер данных уже получится в 2 раза больше... а это > 5 миллиардов записей в месяц, 116 Гигабайт в месяц или 57 Гигабайт... это кто так поставил задачу? старший? имхо, зачем вам вся история с такой дискретностью? кто ее будет читать? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2014, 13:00 |
|
Запись во множество файлов
|
|||
---|---|---|---|
#18+
ldarНахлобуч, почитаю, чет не слышал о этой платформы. Заодно почитай как устроен Graphite и Whisper . Хранить прошлогодние данные с точностью до секунды вряд ли надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2014, 13:16 |
|
Запись во множество файлов
|
|||
---|---|---|---|
#18+
ldarа это > 5 миллиардов записей в месяц, 116 Гигабайт в месяц или 57 Гигабайт... Отслеживать последнее записанное в БД значение датчика, и если новое значение превысило некий порог, то записать его ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2014, 13:25 |
|
Запись во множество файлов
|
|||
---|---|---|---|
#18+
Я мысленно представил себе ( время стремится в бесконечность) Россия встала с колен, люди освоили Марс, половина России покрыта сплошными датацентрами, все так же крутятся эти 1000 датчиков и пишут в файлы, только размеры файлов уже под тысячи петабайтов, половина россиян обслуживаю эти центры в которых размещаются эти файлы, эта задача ( запись в файл) дала импульс энергетике появилось много атомных и гидро электростанций для питания этих центров, остальная половина качает нефть, что бы ее продать а на вырученные деньги построить новые центры... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2014, 13:45 |
|
Запись во множество файлов
|
|||
---|---|---|---|
#18+
Где-то в степиldarBelavik, Да, таким образом я файл размещаю в смысловые директории и таки образом экономлю 12 байт с каждой записи...Если все в один писать, то тогда лучше все разместить в БД только размер данных уже получится в 2 раза больше... а это > 5 миллиардов записей в месяц, 116 Гигабайт в месяц или 57 Гигабайт... это кто так поставил задачу? старший? имхо, зачем вам вся история с такой дискретностью? кто ее будет читать? Для анализа дынных, нужно около 6 месяцев хранить. Некоторые возможно и не понадобятся. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2014, 13:45 |
|
Запись во множество файлов
|
|||
---|---|---|---|
#18+
Где-то в степиЯ мысленно представил себе ( время стремится в бесконечность) Россия встала с колен, люди освоили Марс, половина России покрыта сплошными датацентрами, все так же крутятся эти 1000 датчиков и пишут в файлы, только размеры файлов уже под тысячи петабайтов, половина россиян обслуживаю эти центры в которых размещаются эти файлы, эта задача ( запись в файл) дала импульс энергетике появилось много атомных и гидро электростанций для питания этих центров, остальная половина качает нефть, что бы ее продать а на вырученные деньги построить новые центры... Фантазия конечно на высшем уровне. Если брать СКАДА системы, то все они хранят сырые данные и даже с меньшей дискретностью. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2014, 13:48 |
|
Запись во множество файлов
|
|||
---|---|---|---|
#18+
Pallarisldarа это > 5 миллиардов записей в месяц, 116 Гигабайт в месяц или 57 Гигабайт... Отслеживать последнее записанное в БД значение датчика, и если новое значение превысило некий порог, то записать его Кстати тоже обдумываю этот вариант. А есть еще методы по сжатию? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2014, 13:50 |
|
Запись во множество файлов
|
|||
---|---|---|---|
#18+
ldarКстати тоже обдумываю этот вариант. А есть еще методы по сжатию? В течении минуты вычислять среднее значение и записывать его в конце минуты, например ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2014, 13:51 |
|
Запись во множество файлов
|
|||
---|---|---|---|
#18+
ldar, биржевые данные, минимальная единица - тик. Но зачем хранить данные с датчиков? так часто. достаточно и раз в минуту или пять минут если рассматривать с точки зрения аварийности, должны быть критерии аварийности данных и писать только при их наличии, другой вопрос срезы по данным - как говорит П. - замаетесь пыль глотать бегая по файлам выколупывая значения.. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2014, 13:55 |
|
Запись во множество файлов
|
|||
---|---|---|---|
#18+
ldarКстати тоже обдумываю этот вариант. А есть еще методы по сжатию?Run-Length Encoding. Но вообще -- очередь и даунсамплинг/агрегирование данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2014, 14:08 |
|
Запись во множество файлов
|
|||
---|---|---|---|
#18+
Где-то в степи, Для большинства задач вы правы, но иногда, это в редко конечно нужны именно с маленькой дискретностью, к примеру отслеживать скачки вибрации или ток с напряжением. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2014, 14:13 |
|
Запись во множество файлов
|
|||
---|---|---|---|
#18+
ldarГде-то в степи, Для большинства задач вы правы, но иногда, это в редко конечно нужны именно с маленькой дискретностью, к примеру отслеживать скачки вибрации или ток с напряжением. Вы себе как это представляете - отследить вибрацию за последний месяц. Обычно с малой дискретностью - на малых периодах, или на периодах с экстремальными величинами ( аварийная ситуация) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2014, 14:18 |
|
|
start [/forum/topic.php?fid=20&msg=38653129&tid=1402886]: |
0ms |
get settings: |
12ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 325ms |
total: | 462ms |
0 / 0 |