Во-первых, Tcl 8.3.5 древний и относительно медленный. Обновление до 8.4 или 8.5 (если вы можете) приведет к улучшению производительности (что зависит от того, что делает ваш сценарий, и то, что быстрее).
Во-вторых, поддержка SQLite обычно осуществляется через загружаемый пакет (условно называемый sqlite3
). Вы захотите получить сборку, которая работает с самой старой версией Tcl, которую вы поддерживаете (простая компиляция в режиме с заглушками - в любом случае я думаю, что это по умолчанию - с самой старой версией Tcl, которую вы хотите поддерживать, должно быть в порядке), а затем поместите это в каталоге (в виде полной установки пакета), который имеется в вашем коде auto_path
. Один из самых хороших способов сделать это - получить tclkit исполняемый файл с одним файлом для Linux и встроить пакет sqlite3
вместе с вами в него; это хорошо, потому что вы можете собрать все вместе в одном месте, чтобы пользователи не могли легко нарушить их, установив переменные среды или другие подобные глупости. Есть больше справки по этому вопросу на https://stackoverflow.com/questions/1379577/…
В-третьих, смешивание баз данных и NFS (или любой другой сетевой файловой системы) не рекомендуется из-за трудностей с распределенной блокировкой и обеспечения надлежащего сброса в постоянное хранилище во время транзакции COMMIT. Обеспечить целостность данных в этих условиях просто сложно!