一个多页面的Streamlit应用程序页面可以毫无问题地共享Duckdb文件吗



嗨,我正在运行一个Streamlit应用程序,DuckDB保存在文件中。这个应用程序越来越大,如果我把它拆分成一个多页的应用程序,考虑到DuckDB把数据存储在一个文件上,它会有数据库文件锁定之类的问题吗?Streamlit多页应用程序页面是否共享相同的进程和线程?如果是这样,这是否意味着它不太可能引起问题,或者避免这样的设置并以另一种方式存储数据是否明智?

到目前为止,我发现DuckDB实际上并不适用于并发用户读写的用例。使用锁管理单个写入过程的复杂性已经到了我们的手上,最好避免这种设置。

如果你的目标是为分析页面供电,你可以从应用程序的多个实例创建多个只读连接。应该没有问题。但是,要在duckdb中填充数据,您必须创建一个corn作业的单个实例,该实例以读/写模式打开duckdb数据库文件,填充duckdb,然后关闭连接。我正在采取类似的做法。

这些常见问题解答可能会对有所帮助

相关内容

  • 没有找到相关文章