powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Запись большого куска данных в файл
9 сообщений из 9, страница 1 из 1
Запись большого куска данных в файл
    #37852826
АлексейС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, коллеги.

Встала задача обращения файлами в десятки гб, реализовал на MemoryMapped files, тестировал пока на 4гб максимально, но кое-как работает. Однако у меня есть опасения, что на чтения то оно будет хорошо, а вот на запись лучше не использовать, потому как данные могут понадобиться, но они могут быть еще не записаны. Посему есть мысль оставить чтение на memorymapped, а запись реализовать через голый FileChannel + allocate DirectBuffer.

Был ли у кого-нибудь подобный опыт? Стоит ли заморачиваться с записью на DirectBuffer?

Спасибо.
...
Рейтинг: 0 / 0
Запись большого куска данных в файл
    #37852831
АлексейС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейС,

блин. Не спал. Написал не по-русски)))

Вопрос такой: что круче на запись memorymapped или дополнительно завести буферризованный DirectBuffer для заливки в канал?
...
Рейтинг: 0 / 0
Запись большого куска данных в файл
    #37853238
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейСВстала задача обращения файлами в десятки гб

АлексейС, надеюсь вы в курсе на счёт максимально возможного размера файла в разных OS.
...
Рейтинг: 0 / 0
Запись большого куска данных в файл
    #37853244
АлексейС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GarrickАлексейСВстала задача обращения файлами в десятки гб

АлексейС, надеюсь вы в курсе на счёт максимально возможного размера файла в разных OS.

Так в том то и штука маппинга в память - маппить можно кусками. Что я собственно и делаю:)

Но вот с записью - большоой вопрос.
...
Рейтинг: 0 / 0
Запись большого куска данных в файл
    #37853246
АлексейС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GarrickАлексейСВстала задача обращения файлами в десятки гб

АлексейС, надеюсь вы в курсе на счёт максимально возможного размера файла в разных OS.

Сорри, туплю, не выспался. Файлы не прямо на 150 гб, ну на 10-12, в среднем. Это же нормально.
...
Рейтинг: 0 / 0
Запись большого куска данных в файл
    #37853251
АлексейС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GarrickАлексейСВстала задача обращения файлами в десятки гб

АлексейС, надеюсь вы в курсе на счёт максимально возможного размера файла в разных OS.

Вообще, честно говоря, не в курсе. Я сначала подумал, что вы про ограничение файловой системы, но потом вспомнил, что какое-то видимое ограничение есть только у FAT32. Использоваться будет ext4, скорее всего.
...
Рейтинг: 0 / 0
Запись большого куска данных в файл
    #37853269
0FD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейС,

интересно, а как с 4гб получилось, ведь есть метод byte get(int index)(или put), где index=>0, те 0<index<2147483647 максимум 2гб
...
Рейтинг: 0 / 0
Запись большого куска данных в файл
    #37853277
АлексейС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
0FDАлексейС,

интересно, а как с 4гб получилось, ведь есть метод byte get(int index)(или put), где index=>0, те 0<index<2147483647 максимум 2гб

Обёртку написал: 4гб = 2 мапа. 10 - 5 мапов и.т.д
...
Рейтинг: 0 / 0
Запись большого куска данных в файл
    #37853404
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейСДобрый день, коллеги.

Встала задача обращения файлами в десятки гб, реализовал на MemoryMapped files, тестировал пока на 4гб максимально, но кое-как работает. Однако у меня есть опасения, что на чтения то оно будет хорошо, а вот на запись лучше не использовать, потому как данные могут понадобиться, но они могут быть еще не записаны. Посему есть мысль оставить чтение на memorymapped, а запись реализовать через голый FileChannel + allocate DirectBuffer.
Спасибо.
Сама по себе идея работы с очень большими файлами вызывает удивление. Есть точка где данные
зарождаются. Есть точка где они обрабатываются и есть место где из них излекается отчёт.
Если вы переливаете из пустого в порожнее, копируете, реплицируете, материализируете
одно и то же в разных местах то можно дойти и до постановки в тербайты и петабайты.

Не думали проанализировать оптимизацию самого тех-задания. Да и Java хоть и быстра,
но на некоторых "ядерных" операциях с диском может быть не самой быстрой.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Запись большого куска данных в файл
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]