原创 原子操作類AtomicInteger詳解
爲什麼需要AtomicInteger原子操作類? 對於Java中的運算操作,例如自增或自減,若沒有進行額外的同步操作,在多線程環境下就是線程不安全的。num++解析爲num=num+1,明顯,這個操作不具備原子性,多線程併發共享這個變量時
原创 OLTP、OLAP與HTAP
OLTP On-Line Transaction Processing聯機事務處理過程(OLTP) 也稱爲面向交易的處理過程,其基本特徵是前臺接收的用戶數據可以立即傳送到計算中心進行處理,並在很短的時間內給出處理結果,是對用戶操作快速響應
原创 消息隊列中點對點與發佈訂閱區別
1. 點對點 生產者生產消息發送到queue中,然後消費者從queue中取出並且消費消息。 這裏要注意: 消息被消費以後,queue中不再有存儲,所以消費者不可能消費到已經被消費的消息。 Queue支持存在多個消費者,但是對一個消息而言,
原创 分佈式專題體系學習
本專題對分佈式專題體系進行學習,學習內容分爲以下各個專題: 1. 分佈式架構原理 (1)分佈式架構演進過程 (2)如何把應用從單機擴展到分佈式 (3)CDN加速靜態文件訪問
原创 Java EE MVC思想
MVC(model - view - controller)是軟件開發的一種設計模式,即把一個應用的輸入、處理、輸出流程哪找模型層(Model)、視圖層(view)、控制層(controller)的方式進行劃分。主要目的是將模型層和視圖層
原创 pyCharm2018最新激活碼
K71U8DBPNE-eyJsaWNlbnNlSWQiOiJLNzFVOERCUE5FIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiIiwiYXNzaWduZWVFbWFp
原创 Hive學習 ---- 1.Hive的概念與結構
1. Hive概述 Hive是一個數據倉庫基礎工具,在Hadoop中用來處理結構化數據。它架構在Hadoop之上,使得查詢和分析變得方便。並提供簡單的sql查詢功能,可以將sql語句轉換爲MapReduce任務進行運
原创 Mysql存儲引擎對比
數據庫存儲引擎是數據庫底層軟件組織,數據庫管理系統(DBMS)使用數據引擎進行創建、查詢、更新和刪除數據。不同的存儲引擎提供不同的存儲機制、索引技巧、鎖定水平等功能,使用不同的存儲引擎,還可以獲得特定的功能。現在許多不同的
原创 Hadoop之分佈式集羣高可用性(HA)模式部署詳解與Zookeeper
1 分佈式協調技術 提到zookeeper,首先需要理解什麼是分佈式協調技術。分佈式協調技術主要用來解決分佈式環境當中多個進程之間的同步控制,讓他們有序的去訪問某種臨界資源,防止造成"髒數據"的後果,如下圖所示:
原创 Hadoop之map/reduce之間的shuffle,partition,combiner過程的詳解
Shuffle的本意是洗牌、混亂的意思,類似於java中的Collections.shuffle(List)方法,它會隨機地打亂參數list裏的元素順序。MapReduce中,所謂Shuffle過程可以大致的理解成:怎樣把ma
原创 Hadoop之分塊、分片與shuffle機制詳解
一 分塊(Block) HDFS存儲系統中,引入了文件系統的分塊概念(block),塊是存儲的最小單位,HDFS定義其大小爲64MB。與單磁盤文件系統相似,存儲在 HDFS上的文件均存儲爲多個塊,不同的是,如果某文件大小沒有到
原创 python調用linux命令的方法
有時候難免需要直接調用Shell命令來完成一些比較簡單的操作,比如mount一個文件系統之類的。那麼我們使用Python如何調用Linux的Shell命令?下面來介紹幾種常用的方法:1. os 模塊1.1. os模塊的exec方法族pyt
原创 Hadoop之MR程序的組件全貌及textinputformat對切片規劃的源碼分析
一 MR程序的組件全貌之前的文章中已經描述過了大部分的組件。目前沒有接觸過的只剩InputFormat、RecordReaders、OutputFormat。InputFormat和RecordReaderHadoop提出了InputF
原创 Java EE五大框架之 Spring 1 --- Spring的IOC容器之XML的方式
1 Spring框架概述 * Spring是一個開源框架 * Spring是於2003 年興起的一個輕量級的Java開發框架,由Rod Johnson在其著作Expert One-On-One J2EE
原创 項目管理工具 maven(1) ---- Maven的概念與安裝、配置
1 Maven介紹1.1 maven是什麼 maven翻譯爲“專家”,“內行”。Maven是Apache下的一個純java開發的開源項目,它是一個項目管理工具,使用maven對java項目進行構建、依賴管理。當前使用Maven