对于频繁查询的数据,DolphinDB会缓存对应的数据,避免频繁查询磁盘,提高性能。各引擎实现的细节有所不同: OLAP 引擎 会将相应的分区数据缓存到DolphinDB 所在的内存空间,下次访问直接从cache中读取即可。 TSDB 引擎 tsdb使用的是page cache(os cache)中,只是每次需要从os 缓存中解压一次。
回答于 2024-04-07 18:14
由于DolphinDB使用c++开发,因此有如下的方案 1. c++集成 c++代码可以通过编写插件的方式进行集成。 2. go 用cgo编个.so动态库,用c++做个wrapper
回答于 2024-04-07 17:48
可能会降低部分sql(访问olap引擎)的性能,cache的设计思路就是空间换时间,如果你手动频繁清理,就是拿时间换空间了。
回答于 2024-04-07 17:27
默认情况下不支持并发写入,即写写冲突,客户端会收到报错信息: “The openChunks operation failed because the chunk <xxx> is currently locked and in use by transaction <tid>. RefId:S00002” 对于这种情况有几种解决思路: 1. 先写入流表,再订阅入库 subscribeTable(tableName="trades_stream", ac...
回答于 2024-04-07 16:58
select count(*) from loadTable("dfs://RecordOptimize", "ProcessDataDfs") --- 875 试了一下可以正常入库。检查下offset,如果流表已有部分数据,但是offset=-1,那只会从订阅时刻起最新的记录开始消费。
回答于 2024-04-02 10:04
不支持。 不产生副作用是函数式编程的核心理念之一,况且在多人协作的项目中,引入全局变量是比较危险、难以debug的一个特性。为此,不能,我们限制了这种行为。
回答于 2024-03-31 12:39