??????????????????????????????????????????????:
????1.???????????????????????? ???????????????????????????????????????? ???????????????????fd?????????????Σ? ?????? ??sqlite???????????????????????????fd ??????????????fd??д??? sqlite??????? ????????й????У??????????????? ???????????????У????????????????????????????μ????????????????????????????????????? ?????????????sqlite??api?? ????????? ???????а???rollback????????????????????????????п???????????????
????2. ????????
????sqlite??????????????????????????????????????????????????д??????????????????????????????????????????????? ????????????У??????? ????????close()???? ??Unix?У?close()??????????????????????? ????A??B???????????????????sqlite??api??????????C???ε?????open()??read()???close()???????????????????????????????A??B?п??????д?????????С? ??????????ò??????Э??(locking protocols) ??????POSIX advisory locking????????sqlite3_open_v2()???????????????£????????????д??????????? ??????????????rename??unlink ????????A??B???????????????????????????????A????????unlink???????????????????????μ????????????????????????????A??B????????????ò?????????????????????? ?????????????????????????????????????????????????????????????????????????????????????????? ???????ж?????? ????????????????ж???????????A??B??ò??????????????????????????????????????? ??????A crash???B??????????rollback???????????????????????
????3. sync???
?????????????????????????consistent?????????fsync()?????????????е?????????????С???????sync??????????????????????
????sync?????ú????????????? USB???澭?????????????д????????????????????д???????USB?????????????? ???PRAGMAs????sync synchronous=OFF?????????????????????????
????4.??????????
????5. ?????
????????????????????????????????е???????????????п?????????????????? ??????memory-mapped I/O?????????????????????????????????????????е?????????????????????
????6. ?????????????? ?????????