iT邦幫忙

0

資料庫部屬

有問題想請教群眾專業的力量。
有以下幾點想請教各專家。

背景: 公司有長久的沿革存在幾個資料庫,之前是從源頭拉取資料做資料分析與建模,但業務量上升,許多視覺化報表的呈現效能嚴重不足,需要建立數據團隊的資料庫。我本身是數據與商業分析背景主要是查詢資料庫然後就是使用R、Python、tableau,現在要下來建資料庫。

請教的問題
1.處理程式選擇?
公司資料庫源頭有Oracle、MSSQL、MySQL、還有excel,我研究了一下,DBeaver EE版本看起來是不錯的選擇,他可以同時處理Oracle、MSSQL,想請問各位大大我這選擇正確嗎?或是有沒有其他工具適合,或是我單純從資料源去選工具有缺少甚麼考量。

2.資料庫的選擇?
這個我就完全沒有想法比較熟悉的是MariaDB,想請問組織自建資料庫有沒有需要考量的?或是有效能上的差異?目前預計就是用MariaDB建。

3.資料庫設計
過往經歷是資料庫的使用者,有看過整理很完整的關聯式資料庫與因為特定需求所建立的資料庫,按照過往經歷去設計關聯式資料庫有甚麼其他地方沒有考量到的嗎?

以上請教。

看更多先前的討論...收起先前的討論...
DennisLu iT邦新手 4 級 ‧ 2021-09-11 09:24:08 檢舉
請問原po ,MarioDB? 馬力歐DB ?
如果有MarioDB我找不到,好奇可以給的官網嗎?
還是想表達MariaDB?
如果公司源頭習慣有MySQL,為何另外選MariaDB?
是因為Oracle買下MySQL才讓你想選擇MariaDB嗎?
Ascetic iT邦新手 5 級 ‧ 2021-09-11 09:33:02 檢舉
抱歉錯字,已修正。
之前公司有使用過,前公司主管為資料庫背景,推測他的選擇會比較專業,這方面我沒有太多想法。
提供一下其他想法
1. 我覺得用程式同步到做分析的資料庫比較方便,定時排程處理,可以離峰,這樣不會造成正式環境效能問題
2. 資料庫的選擇,我覺得應該先考量的是,貴公司想要的結果是什麼,資料庫的選擇應該是從類型(關聯式、非關聯式)選擇後在選擇資料庫
3. 第三點跟第二點差不多,由結果採取想要的解決方案,哪種類型資料庫適合大量數據處理效能又不錯,針對想要的結果要怎樣設計資料儲存架構

如果都是從零開始都是要學,就不需要被既有框架限制
Ascetic iT邦新手 5 級 ‧ 2021-09-11 13:05:13 檢舉
我想問一下 "程式同步"是甚麼意思?
甚麼樣的程式?DBeaver 算是嗎?
程式同步是指用後端程式語言開發撈取資料庫資料的程式,DBeaver 是連線到資料庫,可以下SQL語法的軟體,你有提到Python,這語言應該也能處理這部分

相關連結
https://www.learncodewithmike.com/2020/02/python-mysql.html
https://pixnashpython.pixnet.net/blog/post/41511724-%E3%80%90win10%E6%8E%92%E7%A8%8B%E3%80%91%E4%BD%BF%E7%94%A8windows%E6%8E%92%E7%A8%8B%E5%99%A8%E8%AE%93python%E8%87%AA%E5%B7%B1%E5%8B%95%E8%B5%B7
wrxue iT邦研究生 3 級 ‧ 2021-09-11 21:22:24 檢舉
若有 Tableau 的話,建議直接使用 Tableau Prep 來做 ETL ~ 包羅萬象的資料來源(Oracle、MSSQL、MySQL、還有excel 都有支援),還能整合 Python、自動排程避開尖峰時段,重點是幾乎介面拖曳即可,與 Tableau Desktop 整合性超高,讚~基本上沒有必要使用 Tableau 又使用其他的 ETL 工具

這次鐵人賽沒打算寫 Tableau Prep,之後有空再發 Tableau Prep 使用系列文章,不過有介紹 Python 如何跟 Tableau Desktop 結合 (TabPy),歡迎訂閱喔(突然工商
kuosheng iT邦新手 4 級 ‧ 2021-09-12 08:20:41 檢舉
上雲啊~GCP bigquery, datafile,你既然是資料科學家,當然有慣用的UI工具囉~你都說TABLU了……不要把時間花在INFRASTRUCTURE 的建置了,想清楚你的核心價值在那裏。你現在碰到效能問題,你用MARIABD就不會有效能問題嗎?你轉資料的過程不需要再REDESIGN SCHEMA 嗎?mariadb用了後,要不要有人維護?如果你是為了成本考量選擇使用free軟體,我勸你最好多考量一下,後續衍生出來的成本你能不能接受!與其又是一個丟下的爛攤子,不如去跟你老板攤牌談清楚,天下沒白吃的午餐,到時候你工作一樣不保,還要被後人咒罵不負責任、爛、生兒子沒屁眼等~
kuosheng iT邦新手 4 級 ‧ 2021-09-12 08:27:26 檢舉
拍謝,是datafile,不是datafile,手機輸入跳出錯誤的字 也想清楚,建置DW的用途是什麼?如果還是停留在傳統的營運報表,你怎麼在老板面前去分你跟其他人的價值,因為你能給他的,別人也一樣能給;如果DW的目的為了能應付即時的應用,你得多思考一下,以能替公司創造多少新的價值來評估建置這套系統。
kuosheng iT邦新手 4 級 ‧ 2021-09-12 08:27:43 檢舉
dataflow
基本上不用考慮把所有的資料來源整合到一個資料庫,你只是需要某個語言可以連接你目前所有的資料庫來源,或是你有一個連接器可以連接所以已經存在的資料來源,然後你的語言也可以使用這各連接器,接著就可以在所有的資料庫拉資料進行後續的處理,我的認知是這樣,建議這樣的方向去找會比較快,把時間放在開發,而不是去重整資料,假如你想集中所有的資料,那資料輸入的UI,是不是也要統整,那會花費更多的時間
Ascetic iT邦新手 5 級 ‧ 2021-09-13 10:00:51 檢舉
好的 謝謝大家的意見,這樣看起來用R 與python 統整之後再存好像會是符合我目前的情況。
謝謝各位大大。

2 個回答

1
u2420123
iT邦新手 3 級 ‧ 2021-09-13 05:10:06

依照您的描述看起來是
選擇一個語言
非同步在背景將數據儲存在另一個db做視覺化呈現
如果是 選mariadb就可以

DBeaver EE應該是db在使用的ide
同步到另一個視覺化db應選擇另一個語言(python,java)
收集過濾處理後才儲存

0
海綿寶寶
iT邦大神 1 級 ‧ 2021-09-13 10:08:06

1.處理程式選擇?
就用 DBeaver EE 版本

2.資料庫的選擇?
就用你比較熟悉的 MariaDB
資料庫的效能跟資料庫的名字沒有什麼絕對相關

3.資料庫設計
直接使用原本各資料庫(Oracle, SQL server, MySQL...)相同的設計即可

其實我覺得

許多視覺化報表的呈現效能嚴重不足,需要建立數據團隊的資料庫

比起「建立資料庫」
你更該擔心的是「要提供資料庫裡面的資料」

你更該擔心的是「誰要提供資料庫裡面的資料」
的確經驗豐富!海綿大大懂答 一語突破盲腸 ---
提供的資料準確度不高,又是另外一個挑戰,前提是要「對」的資料,才有分析及參考價值

我要發表回答

立即登入回答