《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 為開發播種數據庫

為開發播種數據庫

2021-07-26
來源:CSDN
關鍵詞: 播種數據庫

  什么是數據播種以及為什么我們需要它

  流線型開發過程對于任何軟件公司來說都至關重要,尤其是像Rise這樣快速增長的公司。使用生產數據作為應用程序初始數據集的工程師可能會嚴重影響性能。他們可能正在處理敏感的客戶信息,這些信息可能需要增加額外的清洗步驟而延長處理時間。此外,由于各自國家的潛在限制性法律,生產數據可能會阻止位于其它地區的工程師訪問數據。最后,當其他工程師需要為其功能添加新的SQL語句時,他們可能很難更新數據庫備份文件。因此,管理初始數據集變得非常困難,而且非常耗時。

  擁有數據播種機制可以使性能測試和數據庫管理更加準確、高效和可管理。作為一名工程師,你可能希望應用程序從已經裝載并清洗的最小數據集開始,或者你可能需要一組特定的數據來進行測試。無論哪種情況,你都已經到達了一個稱為數據播種的過程。從長遠來看,一組易于管理的合成數據肯定會改善你的開發過程。

  如何填充數據庫

  在研究Rise的解決方案時,我們發現了一些有趣的方法來填充數據庫以進行開發。最常見的方法是直接從生產環境檢索數據。但這并不是一個理想的開發體驗,因為可能會涉及PII(個人身份信息)數據。

  另一種方法是使用SQL備份文件,其中包含表結構的記錄和數據庫中的數據——但該方法也不夠理想,而且可能難以管理。例如,當你的服務具有多個微服務時,由于表之間的復雜關系,你的數據庫可能會以出現數據完整性問題而告終。

  現在,一些簡單的可選方法是使用第三方庫(如“Faker”)來生成虛擬數據,或者僅通過調用API調用來創建數據庫。

  為了使開發過程更具效率,數據播種應該是可讀的、可共享的、易修改的,并且需要生成沒有PII的真實數據。為了滿足這些需求,我們最終使用typeScript創建了一個框架,混合使用了SQL語句和API。

微信圖片_20210726092443.jpg

  數據播種架構

  通過這種方法,我們可以使用“引導 SQL語句”為每個服務保留最少的引導數據,并且可以發送多個HTTP請求來生成特定數據集的記錄。

  使用此過程為開發團隊提供了三個主要益處:

  因為我們指向的是真實的API端點,所以不需要關心數據庫約束或表關系(與在SQL中添加語句的做法截然不同)。

  只需簡單地創建一個新的API函數來生成初始數據,就可以更容易地更新新特性。腳本也變得具有很高的可讀性,尤其是與一個SQL文件中的無數行相比,這些行讀起來可能很乏味。

  腳本是從命令行運行的,只要一個命令可以隨時運行。

  1. 引導SQL語句

  引導語句做什么?這個裝載器是在所有服務啟動時運行的第一段代碼,負責生成發送給API請求所需的最小數據集。因此它充分依賴于你的服務或業務邏輯。例如,在Rise中,為了進行API調用以生成組織和用戶表,支持提供者的授權標記應該與數據一起傳遞。所以,引導包含一個用于創建支持提供者用戶的語句。

  2. 對應編碼

  這個簡單的代碼片段將清空組織表,并且創建一個具有組織的支持提供者用戶。

  TRUNCATE organizations RESTART IDENTITY CASCADE;

  — Insert a Organization into Organization table

  — Insert Support Role User into User table

  — Insert a Role into that user

  — Code is needed below

  3. API請求

  我們目前使用Axios產生HTTP請求。Axios是一個基于promise的HTTP客戶端,用于瀏覽器和Node.js,可以簡單發送異步請求并執行CRUD操作。它通過在發送這些請求時提供自動JSON字符串化來實現這一點,而“Fetch API”沒有提供這種功能。總之,axios是一個輕量級庫,提供了許多有用的功能。

  4. 對應編碼

  在本節中,你將向項目中添加Axios,并生成可以創建組織的API函數。

  要將Axios添加到項目中,運行以下命令以安裝Axios:

  $ npm install axios

  在TypeScript項目的src文件夾中,創建一個名為organization.ts的新組件。

  將以下代碼添加到該組件中:

微信圖片_20210726092446.jpg

  首先,要導入axios和env,以便兩者都可以在組件中使用。然后創建一個名為createOrganization的異步函數來執行POST請求。

  之后使用axios.post(url、data、option)獲得一個promise,該promise返回一個響應對象。第二個參數“data”應該包含創建Organization記錄所需的實際數據。這里好處是,當作為第二個參數傳遞給POST函數時,axios會自動將JavaScript對象序列化為JSON,因此我們就不需要再做處理了。

結論

  總而言之,擁有數據播種管理工具對于開發高質量軟件非常重要,因為它有助于提高數據安全性,增加組織對數據的可訪問性,減少數據冗余,并提供更好的數據完整性和數據一致性。通過實施這個相對簡單的過程,大大提高了我們在Rise的效率和生產力。




電子技術圖片.png

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
99pao成人国产永久免费视频| 一区二区三区四区国产精品| 亚洲精品一区中文| 黄色精品在线看| 国产精品日韩久久久久| 欧美日韩综合视频| 欧美交受高潮1| 欧美国产大片| 欧美成人有码| 免费美女久久99| 欧美91视频| 嫩草影视亚洲| 免费国产自线拍一欧美视频| 久久综合五月天婷婷伊人| 久久综合一区二区| 老巨人导航500精品| 久久嫩草精品久久久精品| 久久久www免费人成黑人精品| 久久高清国产| 久久精品一区二区国产| 久久久噜噜噜久久中文字幕色伊伊 | 亚洲激情一区| 最新成人在线| 亚洲精品偷拍| 亚洲人成人99网站| 亚洲国产另类久久久精品极度| 影音先锋日韩资源| 亚洲第一天堂无码专区| 亚洲人成7777| 99在线热播精品免费| 亚洲一级片在线观看| 亚洲综合激情| 久久gogo国模裸体人体| 久久精品亚洲精品| 亚洲精品乱码久久久久久久久 | 亚洲男人的天堂在线观看| 亚洲欧美在线免费观看| 国产精品免费看| 国产精品专区h在线观看| 国产一区二区电影在线观看| 激情五月综合色婷婷一区二区| 亚洲国产精品第一区二区三区 | 欧美在线三区| 亚洲黄色av| 在线视频亚洲一区| 欧美有码在线视频| 免费欧美电影| 亚洲激情欧美激情| 国产精品美女视频网站| 国产日韩在线看片| 亚洲黄色片网站| 亚洲综合国产激情另类一区| 亚洲国产日韩在线| 亚洲影院在线观看| 久久久xxx| 欧美日韩在线免费视频| 国产麻豆精品在线观看| 亚洲第一综合天堂另类专| 亚洲最新中文字幕| 欧美专区福利在线| 一本色道88久久加勒比精品| 欧美一区二区视频97| 狼狼综合久久久久综合网| 欧美日韩综合视频| 国内精品视频在线观看| 99国产精品99久久久久久粉嫩| 亚洲欧美日韩爽爽影院| 日韩视频免费观看高清在线视频| 午夜精品久久久久久久蜜桃app | 99国产精品久久久| 久久精品国产成人| 亚洲一二三区在线观看| 欧美理论大片| 欧美精品久久久久久| 国产日韩欧美在线播放不卡| 亚洲日本乱码在线观看| 欧美在线一区二区三区| 亚洲一区免费看| 老司机亚洲精品| 国产精品免费福利| 亚洲日本成人在线观看| 久久精品国产99精品国产亚洲性色 | 午夜视频精品| 麻豆成人综合网| 国产女同一区二区| 亚洲美女免费视频| 亚洲欧洲视频在线| 久久久精品动漫| 国产噜噜噜噜噜久久久久久久久| 亚洲欧洲在线播放| 久久精品亚洲精品国产欧美kt∨| 亚洲欧美在线磁力| 欧美另类变人与禽xxxxx| 极品少妇一区二区三区精品视频| 亚洲视频成人| 艳女tv在线观看国产一区| 麻豆成人小视频| 国产午夜精品久久久久久久| 亚洲午夜一区二区三区| 在线视频精品一| 欧美xart系列高清| 狠狠操狠狠色综合网| 午夜欧美大尺度福利影院在线看| 亚洲午夜av| 欧美激情一二区| 在线免费观看日本一区| 久久精品国产一区二区三区| 欧美亚洲专区| 国产精品一区视频网站| 一区二区三区视频在线观看| 日韩视频三区| 欧美激情国产日韩| 亚洲大胆美女视频| 亚洲欧洲精品一区二区三区不卡 | 欧美jizz19hd性欧美| 国语自产在线不卡| 羞羞视频在线观看欧美| 午夜一区不卡| 国产精品嫩草久久久久| 亚洲视频一区二区| 亚洲午夜久久久| 国产精品高潮呻吟久久av黑人| av成人动漫| 亚洲女ⅴideoshd黑人| 国产精品美女主播在线观看纯欲| 亚洲性xxxx| 香蕉尹人综合在线观看| 国产日韩欧美在线| 欧美在线观看网站| 老司机精品导航| 亚洲国产精品第一区二区| 亚洲乱码一区二区| 欧美久久在线| 一区二区三区四区五区视频| 亚洲尤物视频网| 国产麻豆视频精品| 欧美一级日韩一级| 久久在线91| 亚洲激情欧美激情| 亚洲视频网在线直播| 国产精品成人一区二区| 亚洲一区二区三区在线播放| 欧美在线二区| 永久免费精品影视网站| 99亚洲伊人久久精品影院红桃| 欧美三级特黄| 性欧美xxxx大乳国产app| 久久久久久亚洲综合影院红桃 | 91久久久久久久久| 亚洲一区二区精品视频| 国产午夜精品久久| 亚洲精品一区二区三区在线观看| 欧美日韩国产成人高清视频| 亚洲午夜在线| 久久久久国产一区二区三区| 最新亚洲激情| 欧美一站二站| 亚洲福利视频网| 亚洲欧美日韩精品久久久| 国产亚洲成av人在线观看导航 | 亚洲欧美日韩另类| 国产日韩精品综合网站| 亚洲激情在线视频| 欧美日韩一区二区免费在线观看| 亚洲欧美精品在线| 免费日韩成人| 国产精品99久久久久久久久久久久| 久久精品国产综合精品| 亚洲精品欧美激情| 欧美在线国产| 亚洲经典自拍| 久久国产毛片| 亚洲人午夜精品| 久久精品国产v日韩v亚洲| 亚洲乱码精品一二三四区日韩在线| 欧美亚洲三级| 亚洲欧洲日产国码二区| 欧美一区二区免费| 最新热久久免费视频| 久久精品欧洲| 日韩亚洲一区二区| 久久久免费观看视频| 一区二区三区色| 欧美激情在线有限公司| 欧美一区二区视频在线| 欧美日韩国产区| 亚洲国产精品t66y| 国产精品夜夜夜| 99热免费精品在线观看| 国产专区综合网| 亚洲自拍三区| 亚洲国产欧美不卡在线观看| 久久精品成人一区二区三区 | 亚洲国内精品| 国产麻豆精品视频| 国产精品99久久久久久久久| 亚洲成人自拍视频| 久久精品视频导航| 亚洲午夜精品久久| 欧美伦理一区二区|