Categories
程式開發

Mysql數據實時同步實踐

背景

MySQL由於自身簡單、高效、可靠的特點,成為小米內部使用最廣泛的數據庫,但是當數據量達到千萬/億級別的時候,MySQL的相關操作會變的非常遲緩;如果這時還有實時BI展示的需求,對於mysql來說是一種災難。

為了解決sql查詢慢,查不了的業務痛點,我們探索出一套完整的實時同步,即席查詢的解決方案,本文主要從實時同步的角度介紹相關工作。

早期業務借助Sqoop將Mysql中的數據同步到Hive來進行數據分析,使用過程中也帶來了一些問題:

  • 雖然Sqoop支持增量同步但還屬於粗粒度的離線同步,無法滿足實時性的需求
  • 每次同步Sqoop以sql的方式向Mysql發出數據請求也在一定程度上對Mysql帶來一定的壓力
  • 同時Hive對數據更新的支持也相對較弱

為了更有效地連接前端業務數據系統(MySQL)和後端統計分析系統(查詢分析引擎),我們需要一套實時同步MySQL數據的解決方案。

小米內部實踐

如何能夠做到數據的實時同步呢?我們想到了MySQL主從復制時使用的binlog日誌,它記錄了所有的 …

Categories
程式開發

Q資訊:蘋果下一代iPhone或搭載高通新型超聲波指紋識別器;高通發布 5G 芯片;劉強東再度卸任京東旗下2家公…

谷歌創始人佩奇”退位”;蘋果下一代iPhone或搭載高通新型超聲波指紋識別器;高通發布5G 芯片;劉強東再度卸任京東旗下2家公司高管;趣頭條第三季度淨虧損8.9億元,同比收窄16%;微信macOS版v2.3.29正式版更新:支持IPv6;羅永浩加盟Sharklet任全球合夥人與“首席忽悠官”。

Q資訊:蘋果下一代iPhone或搭載高通新型超聲波指紋識別器;高通發布 5G 芯片;劉強東再度卸任京東旗下2家公... 8

科技公司

谷歌創始人佩奇”退位”

12月4日消息,谷歌聯合創始人拉里·佩奇宣布將辭去Alphabet首席執行官職位,谷歌首席執行官桑達爾·皮查伊將接任母公司CEO一職。

蘋果下一代iPhone或搭載高通新型超聲波指紋識別器

12月4日消息,據外媒報導,

Categories
程式開發

GraalVM 19.3發布,支持Java 11

多語言虛擬機GraalVM為使用多種語言(如Java、C語言、Python和JavaScript)開發的應用程序提供了共享運行時。最新版本19.3已發布,支持JDK 11。之前的版本基於JDK 8。

GraalVM限制支持大量介於Java 9和Java 11之間的語言特性和平台改進,如緊湊的字符串、變量類型推斷、Java平台模塊系統(JPMS)和HTTP客戶端。

例如,下面的代碼片段演示了使用最新的Java 11 …

Categories
程式開發

微服務測試—六份案例研究和技術組合(第三部分)

本文要點

  • 測試微服務時,要考慮的一個重要因素是如何管理關聯的依賴項。有很多種技術可以用來解耦依賴項,但是它們都有一些權衡,開發/QA團隊必須意識到這一點。
  • 架構師、開發人員和QA團隊必須共同努力,以理解和指定測試目標、上下文和當前的約束條件。
  • 制訂一套全面的測試方法通常需要實施多種測試策略。必須仔細選擇這些策略,以避免重複工作或增加測試套件的偶發複雜性。
  • 契約測試是驗證服務之間交互的一種有價值的方法。可以將契約測試與精心挑選,數量有限的端到端測試相結合,以驗證完整的業務流程。
  • Mock和服務虛擬化有助於在測試過程中解耦組件。應當精心確保這些測試替身處於正確狀態,並與當前關聯實現的最新版本保持同步。

這是《微服務測試》系列的第三篇文章。另請參見《微服務測試的 12 項實用技術(第一部分)》和《微服務測試的 12 …

Categories
程式開發

金融行業數據複雜、成本高、難獲取?看路孚特如何打破困局

2018 年,湯森路透金融與風險業務部門獨立成為 Refinitiv(路孚特)。路孚特在湯森路透金融數據和市場知識積累之上,利用領先的技術、信息和分析方法繼續為行業者提供著服務。如今路孚特推出金融數據平台(Refinitiv Elektron Data Platform,簡稱 RDP),進一步發揮其在行業積累的優勢。 InfoQ 記者專訪路孚特 RDP

Categories
程式開發

為什麼連BAT都很難參與到區塊鏈技術的競爭中?

為什麼連BAT都很難參與到區塊鏈技術的競爭中? 14

區塊鏈技術的競爭在經過聯盟鍊和公有鏈技術的合二為一後,最終將發展為組網能力的競爭,而這是一個 BAT 都很難參與的競爭。

1、區塊鏈技術是什麼

當我們談到區塊鏈技術,大多數人想到的可能是去中心化的記賬,但什麼是去中心化的記帳呢?我們先看記帳這個詞,”記”是指記錄編寫,“帳”廣義上可以指數據,“記賬“就是對數據的存儲和計算操作;而什麼是去中心化呢?就是組成區塊鏈系統的眾多計算機,並不是由一個中心化的機構或組織擁有,而是由眾多機構、組織、群體等共同擁有的。所以,從本質上說,區塊鏈技術就是一個去中心化計算機網絡基礎上,對數據進行存儲或操作的技術,該技術的特點是,任何數據存入到這個系統後,該數據都不可銷毀,不可篡改。

2、區塊鏈技術的商業價值

2.1 區塊鏈技術的商業價值本質

區塊鏈技術對比傳統的分佈式數據庫技術,有什麼優點呢?核心就是區塊鏈技術是去中心化的,而傳統的分佈式數據庫技術是中心化的。

去中心化對比中心化有什麼好處呢?我們以新浪舉例,新浪是一個中心化的信息平台,大眾只能閱讀新浪提供的新聞,如果新浪篡改或刪除已發布的新聞,大眾是很難感知的;如果是一個去中心化的信息平台,在新聞發布後,沒有任何人,包括平台自身,能篡改或刪除這些已經發布的新聞,所以大眾可以完全信賴這些新聞發布後沒有被篡改過。…

Categories
程式開發

GitHub熱門項目:生產級深度學習項目如何構建?

在生產中部署深度學習模型可能很有挑戰性,因為這遠遠不僅是訓練出具有良好性能的模型就足夠了。為了部署生產級深度學習系統,還需要正確設計和開發一眾組件。本文介紹了 GitHub 上的一個工程指南,用於構建將部署在實際應用程序中的生產級深度學習系統。

GitHub熱門項目:生產級深度學習項目如何構建? 16

在這篇文章中,我們將詳細介紹生產級深度學習系統的各個模塊,並推薦適合每個組件的工具集和框架,以及實踐者提供的最佳實踐。

GitHub熱門項目:生產級深度學習項目如何構建? 17

GitHub熱門項目:生產級深度學習項目如何構建? 18

1. 數據管理

1.1. 數據源

開源數據 (好的開端,但並非優勢)、數據增強以及合成數據…

Categories
程式開發

Django 3.0 版本正式發布,支持異步功能

2019年12月2日,Django官方博客發布了Django 3.0的發布說明,Django 3.0 正式版真的來啦!

Django是一款用於開發Web應用程序的高級Python框架,Pinterest,Instagram和NASA等網站都是使用該框架來編寫的。雖然Django一直佔據著Python Web開發界的頭把交椅,但其不支持異步一直困擾著開發者,而Django 3.0正式版本終於支持ASGI了,這不免讓開發者興奮。

Django

Categories
程式開發

蘋果、谷歌紛紛公佈“2019年度最佳App”

蘋果、谷歌紛紛公佈“2019年度最佳App” 26

google play

12月3日,蘋果、谷歌各自公佈了App Store與Google Play上的“年度最佳App”。每到年底,公佈“年度App榜單”已經成為蘋果和谷歌的慣例。

一、蘋果:2019年度App與遊戲名單

今年,蘋果從iPhone、iPad、Mac和Apple TV上各選出一款年度App和遊戲,並從Apple …

Categories
程式開發

AssemblyScript如何幫助WebAssembly發揮潛力?

WebAssembly(或Wasm)是Web瀏覽器中相對較新的功能,但它有潛力極大地擴展Web作為一個應用程序服務平台的能力。 Web開發人員在入門WebAssembly時可能會經歷艱難的學習過程,而AssemblyScript就提供了一種解決辦法。首先我們來看一下為什麼WebAssembly是一項很有前途的技術,然後再介紹AssemblyScript是怎樣幫助WebAssembly發揮潛力的。

WebAssembly

WebAssembly是針對瀏覽器使用的底層語言,為開發人員提供了JavaScript之外的Web編譯目標。它使網站代碼可以在安全的沙盒環境中以接近原生的速度運行。

它是根據所有主流瀏覽器(Chrome、Firefox、Safari和Edge)代表的意見開發的,這些代表於2017年初達成了設計共識。所有這些瀏覽器現在都支持WebAssembly,意味著整個市場中約87%的瀏覽器可以使用它。

WebAssembly以二進制格式交付,這意味著與JavaScript相比,WebAssembly在大小和加載時間上均佔優勢。但它也有供人類閱讀的文本…