iT邦幫忙

0

請教 資料庫 JSON 格式儲存 做統計的方法

  • 分享至 

  • xImage

我使用 postgresql
最近嘗試把資料存成 JSON 格式,
發現有好有壞,讀取方便多了!
可是統計的部分 完全沒有頭緒 想請教各位大大

假設我把資料存成

[{"id":"1530238352925","ans":"1"},{"id":"1530238369317","ans":"3"},{"id":"1530238379373","ans":"2"},{"id":"1530238387621","ans":"2"},{"id":"1530238390757","ans":"2"},{"id":"1530238394414","ans":"3"},{"id":"1530238404238","ans":"1"},{"id":"1530238413397","ans":"2"}]

上面是一筆表單提交的內容,
可能有很多筆像上面的JSON格式。
物件我都把它寫成這個格式 {"id":"xxx","ans":"xxx"}

假設我想要統計 id = "1530238352925" 分數等於1、2、3 分別為多少
做出類似這樣的表單

ID ans_1_count ans_2_count
1530238352925 10 2
1530238369317 5 7

...請教該如何製作
以前的寫法都是每個題目有一筆紀錄。不是JSON 都是使用 group by 的方式去統計 但現在存成 JSON 不知道該怎麼查詢

看更多先前的討論...收起先前的討論...
小魚 iT邦大師 1 級 ‧ 2018-06-29 12:45:40 檢舉
JSON應該不好統計吧, 讀回來後端再處理...
froce iT邦大師 1 級 ‧ 2018-06-29 13:13:36 檢舉
http://www.postgresqltutorial.com/postgresql-json/

這個有幫助嗎?
Victor iT邦新手 2 級 ‧ 2018-06-29 13:35:57 檢舉
@小魚 哈哈 不知道我這樣做對不對,最近買了一本大數據的書,所以很喜歡把它存成 JSON 不知道這樣好不好!摸索中... 謝謝 小魚給的意見
Victor iT邦新手 2 級 ‧ 2018-06-29 13:36:18 檢舉
@froce 好像有喔! 感謝感謝 我研究一下!!
wwx iT邦好手 1 級 ‧ 2018-06-30 10:51:19 檢舉
JSON只是一個方便(人)閱讀的吞吐資料格式,
資料要怎麼處理就是跟寫程式一樣,
程式中弄了一堆Array和資料串要作什麼處理,
現在這些資料改從JSON來這樣而已...

可以找找看有沒有現成的工具可以直接套用或協助處理

例如CME比特幣的資料
http://www.cmegroup.com/CmeWS/mvc/Bitcoin/All?_=1513059323683
瀏覽器收到若用jQuerry會想怎麼處理?

如果丟到雲端處理,例如
http://jsonviewer.stack.hu/#http://www.cmegroup.com/CmeWS/mvc/Bitcoin/All?_=1513059323683
這個雲端如果是自己設計要怎麼弄?
Victor iT邦新手 2 級 ‧ 2018-07-02 11:50:22 檢舉
謝謝 wwx 大大 想請問 如果資料庫存 JSON 檔會有助於 資料庫縮小體積嗎?
slime iT邦大師 1 級 ‧ 2018-07-03 09:13:44 檢舉
縮小使用容量是有的, 但效率可能大大降低.

好的資料庫管理系統會依照使用的資料量大小, 分配合適的硬碟空間, 配合作業系統的磁區分配方式, 讓查詢資料時可以盡快找到對應的磁區就讀到資料.

而 json / xml 屬於適合人閱讀的方式, 若用在網站傳送可以減少傳輸量, 但用在資料庫底層運作, 效率可能比一般資料庫軟體差.
wwx iT邦好手 1 級 ‧ 2018-07-03 15:16:39 檢舉
同slime
資料庫的內容和資料吞吐的格式是兩碼子事,
比如要吐 [abc] 給user
資料庫內要存 [abc] 還是存 abc 就好呢?
同樣的資料庫存 abc 可以吐 <data="abc"> 給user
那有需要資料庫改存 <data="abc"> 這樣的內容嗎?

也就是資料庫只需存必要的內容就好
而json格式會比xml格式於吞吐時省通訊量
(xml如果規劃的好,其實json也省不多)

剛剛發現在這裡發佈網址後CME現在強制要用https://
所以jsonviewer.stack.hu網站就無法抓資料了
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答