В качестве учебного упражнения я пытаюсь написать простую встроенную базу данных на C #.Все идет хорошо, но я действительно застреваю, когда дело доходит до сохранения данных на диск.
В качестве примера одной из моих проблем ... Возможно, мне нужно «вставить» данные в середину данныхфайл.Это явно невозможно при последовательном доступе к файлам.Переписывать всю последнюю половину файла каждый раз, когда происходит вставка, не представляется возможным по очевидным причинам производительности.
Единственное решение, которое я могу себе представить, - записать каждую таблицу с последующим пустым пространством вфайл.Пустое пространство будет использоваться для записи новых данных, и файл будет нуждаться в реструктуризации / увеличении каждый раз, когда таблица использует свое доступное пространство.
Я предполагаю, что мои вопросы ... именно так выглядят данные ""внутри файла данных типичной БД?Как / где новые данные записываются в файл?