2017-07-17 121 views
0

當前正在評估InfluxDB並希望瞭解序列化對象(例如使用Java)是否可以從InfluxDB存儲/檢索,並且它的過程是什麼?InfluxDB可以存儲序列化對象嗎?

+0

似乎沒有其他的東西進來;所以..如果我的答案足夠有用;請考慮接受... – GhostCat

回答

1

根據wikipedia,該數據庫支持以下類型的值:

值可以是64位整數,64位浮點,字符串,和布爾值。

可以Java對象序列化爲字節流;字節流可以表示爲十六進制字符串。

因此,理論上答案是肯定的 - 應該可以將序列化的Java對象存儲在此數據庫中。回顧一下,你只是逆轉這個過程。

如果這是一個好主意是一個完全不同的問題。這聽起來效率很低,並存儲序列化的對象本身並不是一個好主意。首先,這是一個很大的彎路 - 將一個對象轉換爲一個字節流成一個十六進制字符串(並反向)。那麼:java對象的序列化有它自己的野獸 - 你必須小心,例如不要引入版本不兼容。當你發佈一個新版本的Java代碼,並且當你試圖反序列化之前的存儲的對象時,代碼會拋出一個異常,這真的很煩人。

因此更現代的方法寧願序列爲不同的格式(JSON爲例),或使用工具直接翻譯領域不同的表列。

+0

偉大的,在想同樣的 - 有存儲序列化對象到其他領域(例如字符串字段)的理論方式..我沒有經驗的序列化的所有優點/缺點(它只是被使用由我的團隊) - 爲什麼通常不是一個好主意?那麼更好的方法是什麼?謝謝。 – Joe

+0

我更新了我的答案。但爲了給出「這會更好」的方法,你應該可以提高你的問題。比如:你想要序列化什麼樣的對象?需要存儲哪些數據等。請參閱:https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem – GhostCat

相關問題