1. 程式人生 > >《後端架構師技術圖譜》先收藏

《後端架構師技術圖譜》先收藏

(Toc generated by simple-php-github-toc )

資料結構

佇列

集合

連結串列、陣列

字典、關聯陣列

二叉樹

每個節點最多有兩個葉子節點。

完全二叉樹

  • 《完全二叉樹》
    • 葉節點只能出現在最下層和次下層,並且最下面一層的結點都集中在該層最左邊的若干位置的二叉樹。

平衡二叉樹

左右兩個子樹的高度差的絕對值不超過1,並且左右兩個子樹都是一棵平衡二叉樹。

二叉查詢樹(BST)

二叉查詢樹(Binary Search Tree),也稱有序二叉樹(ordered binary tree),排序二叉樹(sorted binary tree)。

紅黑樹

B,B+,B*樹

MySQL是基於B+樹聚集索引組織表

LSM 樹

LSM(Log-Structured Merge-Trees)和 B+ 樹相比,是犧牲了部分讀的效能來換取寫的效能(通過批量寫入),實現讀寫之間的。 Hbase、LevelDB、Tair(Long DB)、nessDB 採用 LSM 樹的結構。LSM可以快速建立索引。

  • 《LSM樹 VS B+樹》

    • B+ 樹讀效能好,但由於需要有序結構,當key比較分散時,磁碟尋道頻繁,造成寫效能。
    • LSM 是將一個大樹拆分成N棵小樹,先寫到記憶體(無尋道問題,效能高),在記憶體中構建一顆有序小樹(有序樹),隨著小樹越來越大,記憶體的小樹會flush到磁碟上。當讀時,由於不知道資料在哪棵小樹上,因此必須遍歷(二分查詢)所有的小樹,但在每顆小樹內部資料是有序的。
  • 《LSM樹(Log-Structured Merge Tree)儲存引擎》

    • 極端的說,基於LSM樹實現的HBase的寫效能比MySQL高了一個數量級,讀效能低了一個數量級。
    • 優化方式:Bloom filter 替代二分查詢;compact 小數位大樹,提高查詢效能。
    • Hbase 中,記憶體中達到一定閾值後,整體flush到磁碟上、形成一個檔案(B+數),HDFS不支援update操作,所以Hbase做整體flush而不是merge update。flush到磁碟上的小樹,定期會合併成一個大樹。

BitSet

經常用於大規模資料的排重檢查。

常用演算法

排序、查詢演算法

選擇排序

氣泡排序

插入排序

快速排序

歸併排序

希爾排序

TODO

堆排序

計數排序

桶排序

  • 《【啊哈!演算法】最快最簡單的排序——桶排序》
  • 相關推薦

    架構技術圖譜收藏

    資料結構 佇列 集合 連結串列、陣列 字典、關聯陣列 棧 樹 二叉樹 完全二叉樹 平衡二叉樹 二叉查詢樹(BST) 紅黑樹 B,B

    架構技術圖譜

    資料結構 佇列 非阻塞佇列:ConcurrentLinkedQueue(無界執行緒安全),採用CAS機制(compareAndSwapObject原子操作)。 阻塞佇列:ArrayBlockingQueue(有界)、LinkedBlockingQu

    架構網址收藏(強烈推薦)

    收藏 .com ref hub 編寫 開源 技術棧 awesome get 1 《後端架構師技術圖譜》 -----阿裏巴巴 2 從部落到帝國 - 後端技術棧的演進及開源實踐 ----正在編寫書籍 後端架構師網址收藏(強烈推薦)

    優秀架構必會知識:史上最全MySQL大表優化方案總結

    本文原作者“ manong”,原創發表於segmentfault,原文連結:segmentfault.com/a/1190000006158186 1、引言 MySQL作為開源技術的代表作之一,是網際網路得以廣泛流行的重要基礎技術之一。 國外 GitHub、Airbnb、Yelp、

    34張史上最全IT架構技術知識圖譜【只收藏不看系列】

    浪費了“黃金五年”的Java程式設計師,還有救嗎? >>>   

    年終回顧,為你彙總一份「架構技術清單」

    2018年馬上就要過去了說說我這一年的感想吧 很多人做Java開發3,4年後,都會感覺自己遇到瓶頸。什麼都會又什麼都不會,如何改變困境,為什麼很多人寫了7,8年程式碼還是一個碼農,工作中太多被動是因為不懂底層原理。公司的工作節奏又比較快,難有機會學習架構原理,也沒人教,所以這個時候,學習架構原理

    34張史上最全IT架構技術知識圖譜(轉)

    1.1 架構師圖譜 1.2 Java架構師圖譜 1.3 微服務架構祕籍 1.4 一致性圖譜 1.5 網際網路大流量的方法 1.6 安全祕籍 1.7 阿里巴巴常用小框架 1.8 架構方法論圖譜 1.9 設計模式祕籍圖譜 二 2.1 JVM虛

    架構技能圖譜

    架構師技能圖譜系統架構能力基本理論協議設計接入層架構設計邏輯層架構設計架構性能優化代碼級別工具優化系統優化工程架構能力開發語言設計模式數據結構與算法開發工具本文出自 “運維自動化” 博客,請務必保留此出處http://shower.blog.51cto.com/4926872/1976315架構師技能圖譜

    架構高可用可伸縮

    申請 基本 註意 主從 例子 技術 replicas 分布 最簡 入口層高可用 業務層高可用 緩存層高可用 數據庫高可用 入口層可伸縮 業務層可伸縮 緩存層可伸縮 數據庫可伸縮 下面來分層介紹實踐方法。 入口層高可用 nigix兩個 keeplive保活 心跳做好。

    工程師的技術

    數據庫 協議 dock docker 網絡編程 掌握 開發 滿足 http 1 後端開發語言 ————> python/lua/php/java/go/ruby....(編程語言是表達思想的工具) 2 運維————> shell腳本,docker 3 安全 ——

    史上最全java架構技能圖譜(下)

    實戰 試題 能力 資料 系統調優 分庫分表 監控系統 文件存儲 大量 “java架構史上最全技能圖譜分為上下兩篇,這是java架構史上最全圖譜下篇,包含:大數據以及性能、設計模式、UML、中間件、分布式集群、負載均衡、通訊協議、架構設計等技術圖譜等章節。如果需要上篇內容:數

    史上最全java架構技能圖譜(上)

    線程數 分支 選擇排序 linu 系統 窮舉 熱部署 batis err java架構師最全技能圖譜上篇,包含:數結構算法、java進階、web開發、框架與工具四大技能圖譜。下篇將包含大數據以及性能、設計模式、UML、中間件、分布式集群、負載均衡、通訊協議、架構設計等技術圖

    2018java面試集合篇最值得收藏的(三)

    Java面試最值得收藏的文章(共4部分): 2018java後端面試集合篇最值得收藏的(一) 2018java後端面試集合篇最值得收藏的(二) 2018java後端面試集合篇最值得收藏的(三) 2018java後端面試集合篇最值得收藏的(四) 談談你對spring框架的理解?

    挖財架構簡介

    挖財後端技術用的主要是比較大眾的東西,Web容器用Tomcat,框架主要是Spring MVC,也有少量的Play,中間服務層是Dubbo,微容器用Spring Boot,服務註冊這一塊是用ZooKeeper,核心業務開發方式還是圍繞著Spring和Mybatis等;資料的儲存這塊是MySQL和Hb

    阿里架構技術分享:分散式/高效能/高併發/微服務/效能優化

    沒有沒免費的Java架構師進階資料領取?(文末提供獲取方法) 阿里架構師技術分享:分散式任務排程系統的實現 阿里架構師技術分享:承載千萬級併發的分散式架構設計思想 阿里架構師技術分享:併發程式設計之手寫阻塞式執行緒安全佇列 阿里架構師技術分享:面試必問之mysql索

    Java面試題2018---J2EE---Spring MVC 技術

    1、畫圖並描述 Spring MVC 的工作流程 2、如何配置 Spring MVC 的核心控制器 3、什麼是 Spring MVC 對映器?有哪幾種 BeanNameUrlHandlerMapping (預設) SimpleUrlHandlerMappi

    java工程師主流技術以及相關書籍推薦(持續更新)

    參考自: 學習路線 :可以參考慕課網 偏頭痛楊總結的java後端工程師的主流技術學習路徑: 1.java基礎階段 類、物件、變數、介面、抽象類、資料型別、封裝&繼承&多型、異常、內部類、 註解、泛型、列舉、多執行緒

    架構-架構層面

    架構層面: 日誌集中 所謂日誌集中就是把程式的所有日誌和異常資訊的記錄都彙總到一起,在只有一臺伺服器的時候我們記錄本地檔案問題也不是最大,但是在負載均衡環境下再記錄本地日誌的話就出現問題了。在想檢視網站日誌的時候到哪臺機器去查都不知道,難道有100臺機器就100臺機器逐一遠端連上去看?因此,

    Python架構演進

    來騰訊之前在前公司做了3年的後端開發, 經歷一款SaaS產品從0到10(還沒有到100, 哈哈哈)的過程, 3年間後端的架構逐步演變, 在微服務的實踐過程中遇到的問題也越來越多, 在這裡總結下. 產品是一款服務於人力資源的SaaS線上服務, 面向HR有Web

    Akka-CQRS(0)- 基於akka-cluster的讀寫分離框架,構建gRPC移動應用架構

    異常 在線 persist 體系 分片 系統性能 resp 數據庫更新 讀寫分離 上一篇我們討論了akka-cluster的分片(sharding)技術。在提供的例子中感覺到akka這樣的分布式系統工具特別適合支持大量的帶有內置狀態的,相對獨立完整的程序在集群節點上分