<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      [NewLife.XCode]備份恢復與同步(數(shù)據(jù)搬運專家)

      NewLife.XCode是一個有20年歷史的開源數(shù)據(jù)中間件,支持net6/net5/net45/net40,由新生命團隊(2002~2020)開發(fā)完成并維護至今,以下簡稱XCode。

      整個系列教程會大量結合示例代碼和運行日志來進行深入分析,蘊含多年開發(fā)經(jīng)驗于其中,代表作有百億級大數(shù)據(jù)實時計算項目。

      開源地址:https://github.com/NewLifeX/X (求star, 1450+)

      Nuget包:NewLife.XCode

      源代碼:https://github.com/NewLifeX/X/blob/master/XCode/DataAccessLayer/DbPackage.cs

      數(shù)據(jù)應用開發(fā)中,經(jīng)常需要用到備份、恢復和同步功能,XCode內(nèi)置支持跨數(shù)據(jù)庫備份同步。特別在分析線上問題時,經(jīng)常是恨不得把線上某些表數(shù)據(jù)“弄”回來本地。所以,你需要XCode。

      碼神工具跨庫數(shù)據(jù)同步

      把數(shù)據(jù)從一個庫同步到另一個庫,以下視頻從MySql庫同步數(shù)據(jù)到SQLite庫,包括創(chuàng)建數(shù)據(jù)表。

      此處為語雀視頻卡片,點擊鏈接查看:碼神數(shù)據(jù)同步.mp4

      DbPackage類

      數(shù)據(jù)備份恢復功能由DbPackage類提供支持。使用時僅需要指定Dal數(shù)據(jù)庫連接,例如 dp.Dal = DAL.Create("memberShip") 。

      DbPackage 操作數(shù)據(jù)有幾大核心:

        • 二進制備份數(shù)據(jù),占用空間小;
        • Actor并行處理,讀寫同時進行,極快速度;
        • 中性備份文件,數(shù)據(jù)庫無關性,支持異構備份與恢復;

      主要設置如下:

      /// <summary>
      /// 數(shù)據(jù)庫連接
      /// </summary>
      public DAL Dal { get; set; }
      
      /// <summary>數(shù)據(jù)頁事件</summary>
      public event EventHandler<PageEventArgs> OnPage;
      
      /// <summary>批量處理時,忽略單表錯誤,繼續(xù)處理下一個。默認true</summary>
      public Boolean IgnoreError { get; set; } = true;
      
      /// <summary>
      /// 性能追蹤器
      /// </summary>
      public ITracer Tracer { get; set; } = DAL.GlobalTracer;

      備份

      數(shù)據(jù)備份,把一個或多個表數(shù)據(jù)備份為壓縮文件,支持備份數(shù)據(jù)表結構。

      采用Actor架構,雙線并行處理,主線程逐頁抽取數(shù)據(jù),Actor線程寫入備份文件。

      數(shù)據(jù)庫結構備份為xml文件,單表數(shù)據(jù)備份為DbTable的二進制格式,因此備份文件非常小。

      數(shù)據(jù)備份文件為NET類型的中性文件,與數(shù)據(jù)庫類型及版本無關,可以恢復到其它任意類型數(shù)據(jù)庫。數(shù)據(jù)備份文件頭部記錄字段名及字段類型,之后的數(shù)據(jù)逐行存儲。

      數(shù)據(jù)備份文件格式可閱讀DbTable說明, https://www.yuque.com/smartstone/nx/dbtable

      主要方法:

      // 備份單表數(shù)據(jù),抽取數(shù)據(jù)和寫入文件雙線程
      Int32 Backup(IDataTable table, Stream stream);
      // 備份單表數(shù)據(jù)到文件
      Int32 Backup(IDataTable table, String file = null);
      // 備份一批表到指定壓縮文件
      Int32 BackupAll(IList<IDataTable> tables, String file, Boolean backupSchema = true);

      數(shù)據(jù)抽取邏輯,如果有自增字段,則按照自增字段分批抽取。否則使用直接分頁的方式抽取,在數(shù)據(jù)量較大時(大于1萬行),性能會越來越慢。

      由于是順序寫入,寫入性能很高,數(shù)據(jù)備份的瓶頸一般在于原始數(shù)據(jù)抽取。具體性能及錯誤分析,建議參考星塵監(jiān)控。

      恢復

      數(shù)據(jù)恢復,把一個壓縮文件恢復到目標數(shù)據(jù)庫,支持恢復數(shù)據(jù)表結構,包括創(chuàng)建表和修改表。

      采用Actor架構,雙線并行處理,主線程逐頁讀取文件,Actor線程分批寫入數(shù)據(jù)庫。

      由于備份文件是數(shù)據(jù)庫無關的中性文件,因此目標數(shù)據(jù)庫可以是不同于備份庫的其它數(shù)據(jù)庫類型。

      備份時僅記錄基礎數(shù)據(jù)類型,因此個別特殊類型字段可能恢復失敗。

      主要方法:

      // 從數(shù)據(jù)流恢復數(shù)據(jù)
      Int32 Restore(Stream stream, IDataTable table);
      // 從文件恢復數(shù)據(jù)
      Int64 Restore(String file, IDataTable table, Boolean setSchema = true);
      // 從指定壓縮文件恢復一批數(shù)據(jù)到目標庫
      IDataTable[] RestoreAll(String file, IDataTable[] tables = null, Boolean setSchema = true);

      由于是順序讀取文件,讀取性能很高,數(shù)據(jù)恢復的瓶頸一般在于寫入數(shù)據(jù)庫。具體性能及錯誤分析,建議參考星塵監(jiān)控。

      同步

      數(shù)據(jù)同步,把一個庫的單表或多表同步到另一個庫,支持同步數(shù)據(jù)表結構,包括創(chuàng)建表和修改表。

      采用Actor架構,雙線并行處理,主線程逐頁抽取數(shù)據(jù),Actor線程分批寫入目標庫。

      由于同步過程中轉為數(shù)據(jù)庫無關的DbTable中性數(shù)據(jù)集,因此目標庫可以是不同于源庫的其它數(shù)據(jù)庫類型。

      支持同步所有基礎數(shù)據(jù)類型,特殊數(shù)據(jù)類型有可能同步失敗。

      主要方法:

      // 同步單表數(shù)據(jù)
      Int32 Sync(IDataTable table, String connName, Boolean syncSchema = true);
      // 備份一批表到另一個庫
      IDictionary<String, Int32> SyncAll(IDataTable[] tables, String connName, Boolean syncSchema = true);

      由于是順序讀取數(shù)據(jù),讀取性能很高,數(shù)據(jù)同步的瓶頸一般在于寫入數(shù)據(jù)庫。具體性能及錯誤分析,建議參考星塵監(jiān)控。

       

      系列教程

      NewLife.XCode教程系列[2019版]

      1. 增刪改查入門。快速展現(xiàn)用法,代碼配置連接字符串
      2. 數(shù)據(jù)模型文件。建立表格字段和索引,名字以及數(shù)據(jù)類型規(guī)范,推薦字段(時間,用戶,IP)
      3. 實體類詳解。數(shù)據(jù)類業(yè)務類,泛型基類,接口
      4. 功能設置。連接字符串,調(diào)試開關,SQL日志,慢日志,參數(shù)化,執(zhí)行超時。代碼與配置文件設置,連接字符串局部設置
      5. 反向工程。自動建立數(shù)據(jù)庫數(shù)據(jù)表
      6. 數(shù)據(jù)初始化。InitData寫入初始化數(shù)據(jù)
      7. 高級增刪改。重載攔截,自增字段,Valid驗證,實體模型(時間,用戶,IP)
      8. 臟數(shù)據(jù)。如何產(chǎn)生,怎么利用
      9. 增量累加。高并發(fā)統(tǒng)計
      10. 事務處理。單表和多表,不同連接,多種寫法
      11. 擴展屬性。多表關聯(lián),Map映射
      12. 高級查詢。復雜條件,分頁,自定義擴展FieldItem,查總記錄數(shù),查匯總統(tǒng)計
      13. 數(shù)據(jù)層緩存。Sql緩存,更新機制
      14. 實體緩存。全表整理緩存,更新機制
      15. 對象緩存。字典緩存,適用用戶等數(shù)據(jù)較多場景。
      16. 百億級性能。字段精煉,索引完備,合理查詢,充分利用緩存
      17. 實體工廠。元數(shù)據(jù),通用處理程序
      18. 角色權限。Membership
      19. 導入導出。Xml,Json,二進制,網(wǎng)絡或文件
      20. 分表分庫。常見拆分邏輯
      21. 高級統(tǒng)計。聚合統(tǒng)計,分組統(tǒng)計
      22. 批量寫入。批量插入,批量Upsert,異步保存
      23. 實體隊列。寫入級緩存,提升性能。
      24. 備份同步。備份數(shù)據(jù),恢復數(shù)據(jù),同步數(shù)據(jù)
      25. 數(shù)據(jù)服務。提供RPC接口服務,遠程執(zhí)行查詢,例如SQLite網(wǎng)絡版
      26. 大數(shù)據(jù)分析。ETL抽取,調(diào)度計算處理,結果持久化 
      posted @ 2022-01-20 15:53  大石頭  閱讀(785)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 五寨县| 亚洲国产精品一区二区第一页| 色av专区无码影音先锋| 国产精品亚洲中文字幕| 成全我在线观看免费第二季| 最新国内精品自在自线视频| 日韩成人一区二区三区在线观看| 又大又粗欧美成人网站| 亚洲 卡通 欧美 制服 中文| 加勒比无码人妻东京热| 亚洲 小说区 图片区 都市| 精品亚洲无人区一区二区| 奶头又大又白喷奶水av| 亚洲一区二区av高清| 中文无码妇乱子伦视频| 少妇人妻真实偷人精品| 国产精品永久在线观看| www久久只有这里有精品| 龙陵县| 日韩a∨精品日韩在线观看 | 丰满人妻熟妇乱又仑精品| 亚洲国产成人无码影片在线播放| 免费国产黄线在线观看| 99久久婷婷国产综合精品青草漫画| 丰满人妻一区二区三区色| 成人免费av在线观看| 柘城县| 亚洲欧美精品一中文字幕| 久久久久青草线蕉亚洲| 精品亚洲一区二区三区四区| 欧美日韩精品一区二区三区在线| 永久免费无码av在线网站| 国产一区二区三区小说 | 欧美激情肉欲高潮视频| 二区三区亚洲精品国产| 日本极品少妇videossexhd| 综合激情网一区二区三区| 亚洲成在人线在线播放无码| 成年女人免费v片| 欧洲亚洲国内老熟女超碰| 疯狂做受xxxx高潮欧美日本|