LINUX.ORG.RU

История изменений

Исправление KivApple, (текущая версия) :

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

С какой попытки вы напишите свою хештаблицу без багов? С какой попытки вы сумеете сохранить ее на диск в эффективном для произвольного доступа виде? С какой попытки вы сможете сделать этот формат хоть немного устойчивым к сценарию «приложение убили в середине записи данных», чтобы как минимум чанки которые не обновлялись смогли прочитаться (а мы могли в этот момент писать не только данные чанка, но и обновлять саму хештаблицу), как максимум обновляемые чанки остались в предыдущем состоянии, а не битые?

А это вырожденный случай использования СУБД, без связанных сущностей. Много где всё ещё сложнее.

Короче, пусть Столяров пишет новую урезанную реализацию СУБД на каждый чих, пока остальные пишут бизнес-логику.

Исправление KivApple, :

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

С какой попытки вы напишите свою хештаблицу без багов? С какой попытки вы сумеете сохранить ее на диск в эффективном для произвольного доступа виде? С какой попытки вы сможете сделать этот формат хоть немного устойчивым к сценарию «приложение убили в середине записи данных», чтобы как минимум чанки которые не обновлялись смогли прочитаться (а мы могли в этот момент писать не только данные чанка, но и обновлять саму хештаблицу), как максимум обновляемые чанки остались в предыдущем состоянии, а не битые?

А это вырожденный случай использования СУБД, без связанных сущностей. Много где всё ещё сложнее.

Исправление KivApple, :

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

С какой попытки вы напишите свою хештаблицу без багов? С какой попытки вы сумеете сохранить ее на диск в эффективном для произвольного доступа виде? С какой попытки вы сможете сделать этот формат хоть немного устойчивым к сценарию «приложение убили в середине записи данных», чтобы как минимум чанки которые не обновлялись смогли прочитаться (а мы могли в этот момент писать не только данные чанка, но и обновлять саму хештаблицу), как максимум обновляемые чанки остались в предыдущем состоянии, а не битые?

А это вырожденный случай использования СУБД, без связанных сущностей. Много где всё ещё сложнее.

Исходная версия KivApple, :

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

С какой попытки вы напишите свою хештаблицу без багов? С какой попытки вы сумеете сохранить ее на диск в эффективном для произвольного доступа виде? С какой попытки вы сможете сделать этот формат хоть немного устойчивым к сценарию «приложение убили в середине записи данных», чтобы как минимум чанки которые не обновлялись смогли прочитаться (а мы могли в этот момент писать не только данные чанка, но и обновлять саму хештаблицу), как максимум обновляемые чанки остались в предыдущем состоянии, а не битые?