Как безопасно работать с текстовой базой данных?
Рядом с файлом данных создаете лок файл, и если нет лока пишете, если есть обрабатываете по необходимости

https://www.php.net/manual/ru/function.flock.php
LOCK_EX
Я, наверное, скажу очевидную вещь, но стоит избавиться от текстового файла и взять уже готовую базу данные вроде MongoDB. В противном случае для обеспечения ACID придется навесить такую же по объемности систему, н несколько лет на разработку у вас вряд-ли имеется. Еще лучше если у вас есть четкая структура данных и вы можете воспользоваться MySQL или PostgreSQL - они создавались под ACID, но эт реляционные базы данных