前邊寫過使用scylladb 做為jaeger 的后端存儲,還是一個不錯選擇的包括性能以及 兼容性,對於
yugabyte 當前存在兼容性的問題,需要版本的支持,或者嘗試進行一些變動
create 語法的處理
- 逗號
CREATE TYPE IF NOT EXISTS ${keyspace}.keyvalue (
key text,
value_type text,
value_string text,
value_bool boolean,
value_long bigint,
value_double double,
value_binary blob,
);
需要刪除末級的逗號
- type 的問題
type 這個對於當前的語法存在支持兼容性的問題
錯誤信息如下:
CREATE TYPE IF NOT EXISTS ${keyspace}.log (
ts bigint,
fields list<frozen<keyvalue>>
);
InvalidRequest: Error from server: code=2200 [Invalid query] message="Invalid Type Definition. UDT field types cannot be (un-frozen) collections
CREATE TYPE IF NOT EXISTS ${keyspace}.log (
ts bigint,
^^^^
fields list<frozen<keyvalue>>
^^^^^^
);
(error -312)"
嘗試的調整以及錯誤:
CREATE TYPE IF NOT EXISTS ${keyspace}.log (
ts bigint,
fields frozen<list<frozen<keyvalue>>>
);
CREATE TYPE IF NOT EXISTS ${keyspace}.log (
ts bigint,
^^^^
fields frozen<list<frozen<keyvalue>>>
^^^^^^
);
(error -14)
說明
目前嘗試是失敗的,但是后邊還是可以再嘗試,需要先看看jaeger 的存儲處理,進行schema 的一些調整,當前官方也在計划
對於上邊錯誤的實現,很期待可用。
參考資料
https://github.com/YugaByte/yugabyte-db/issues/1630
https://www.cnblogs.com/rongfengliang/p/11207556.html