主頁 > 資料庫 > kafka的安裝和基本操作

kafka的安裝和基本操作

2023-06-08 09:43:14 資料庫

基本概念

簡介

Kafka 最初是由 LinkedIn 即領英公司基于 Scala 和 Java 語言開發的分布式訊息發布-訂閱系統,現已捐獻給Apache 軟體基金會,其具有高吞吐、低延遲的特性,許多大資料實時流式處理系統比如 Storm、Spark、Flink等都能很好地與之集成,

總的來講,Kafka 通常具有 3 重角色:

  • 存盤系統:通常訊息佇列會把訊息持久化到磁盤,防止訊息丟失,保證訊息可靠性,Kafka 的訊息持久化機制和多副本機制使其能夠作為通用資料存盤系統來使用,
  • 訊息系統:Kafka 和傳統的訊息佇列比如 RabbitMQ、RocketMQ、ActiveMQ 類似,支持流量削峰、服務解耦、異步通信等核心功能, ==》 先進先出 ==》 只針對磁區,不是全域的
  • 流處理平臺:Kafka 不僅能夠與大多數流式計算框架完美整合,并且自身也提供了一個完整的流式處理庫,即 Kafka Streaming,Kafka Streaming 提供了類似 Flink 中的視窗、聚合、變換、連接等功能,

一句話概括:Kafka 是一個分布式的基于發布/訂閱模式的訊息中間件,在業界主要應用于大資料實時流式計算領域,起解耦合和削峰填谷的作用,

特點

  • 高吞吐量、低延遲:kafka每秒可以處理幾十萬條訊息,它的延遲最低只有幾毫秒,每個topic可以分多個partition, 由多個consumer group 對partition進行consume操作,
  • 可擴展性:kafka集群支持熱擴展
  • 持久性、可靠性:訊息被持久化到本地磁盤,并且支持資料備份防止資料丟失
  • 容錯性:允許集群中有節點失敗(若副本數量為n,則允許n-1個節點失敗)
  • 高并發:支持數千個客戶端同時讀寫

Kafka在各種應用場景中,起到的作用可以歸納為這么幾個術語:削峰填谷,解耦!
在大資料流式計算領域中,kafka主要作為計算系統的前置快取和輸出結果快取;

安裝部署

kafka基于Zookeeper, 因此需要先安裝Zookeeper, 詳見https://www.cnblogs.com/paopaoT/p/17461562.html

  1. 上傳安裝包
  2. 解壓
tar -zxvf kafka_2.11-2.2.2.tgz tar  -C /opt/apps/
  1. 修改組態檔
# 進入組態檔目錄
cd kafka_2.12-2.3.1/config
# 編輯組態檔
vi server.properties
# 為依次增長的:0、1、2、3、4,集群中唯一 id
broker.id=0
# 資料存盤的?錄 
log.dirs=/opt/data/kafka
# 底層存盤的資料(日志)留存時長(默認7天)
log.retention.hours=168
# 底層存盤的資料(日志)留存量(默認1G)
log.retention.bytes=1073741824
# 指定zk集群地址
zookeeper.connect=linux01:2181,linux02:2181,linux03:2181
  1. 環境變數
vi /etc/profile
export KAFKA_HOME=/opt/apps/kafka_2.11-2.2.2
export PATH=$PATH:$KAFKA_HOME/bin

source /etc/profile
  1. 分發安裝包
for  i  in {2..3}
do 
scp  -r  kafka_2.11-2.2.2  linux0$i:$PWD 
done

# 安裝包分發后,記得修改config/server.properties中的 配置引數: broker.id
# 注意:還需要分發環境變數
  1. 啟停集群(在各個節點上啟動)
bin/kafka-server-start.sh -daemon /opt/apps/kafka_2.11-2.2.2/config/server.properties

# 停止集群
bin/kafka-server-stop.sh
  1. 一鍵啟停腳本:
#!/bin/bash

case $1 in
"start"){
        for i in linux01 linux02 linux03
        do
        echo ---------- kafka $i 啟動 ------------
                ssh $i "source /etc/profile;  /opt/app/kafka2.4.1/bin/kafka-server-start.sh -daemon /opt/app/kafka2.4.1/config/server.properties"
        done
};;
"stop"){
        for i in linux01 linux02 linux03
        do
        echo ---------- kafka $i 停止 ------------
                ssh $i "source /etc/profile;  /opt/app/kafka2.4.1/bin/kafka-server-stop.sh "
        done
};;
esac

基本操作

概述

Kafka 中提供了許多命令列工具(位于$KAFKA_HOME/bin 目錄下)用于管理集群的變更,

腳本 作用
kafka-console-producer.sh 生產訊息
kafka-topics.sh 管理主題
kafka-server-stop.sh 關閉Kafka服務
kafka-server-start.sh 啟動Kafka服務
kafka-configs.sh 配置管理
kafka-consumer-perf-test.sh 測驗消費性能
kafka-producer-perf-test.sh 測驗生產性能
kafka-dump-log.sh 查看資料日志內容
kafka-preferred-replica-election.sh 優先副本的選舉
kafka-reassign-partitions.sh 磁區重分配

管理操作:kafka-topics

創建topic

--bootstrap-server 和 --zookeeper一樣的效果 ,新版本建議使用 --bootstrap-server

kafka-topics.sh   --bootstrap-server  linux01:9092,linux02:9092,linux03:9092    --create --topic test01  --partitions 3  --replication-factor  3

引數解釋:
--replication-factor  副本數量
--partitions 磁區數量 
--topic topic名稱
# 本方式,副本的存盤位置是系統自動決定的


# 手動指定分配方案:磁區數,副本數,存盤位置
kafka-topics.sh --create --topic tpc-1  --zookeeper linux01:2181 --replica-assignment 0:1:3,1:2:6

該topic,將有如下partition:(2個磁區 3個副本)
partition0 ,所在節點: broker0、broker1、broker3
partition1 ,所在節點: broker1、broker2、broker6

# 查看topic的狀態資訊
kafka-topics.sh --describe --topic tpc-1 --zookeeper linux01:2181
Topic: tpc-1    PartitionCount: 2       ReplicationFactor: 3    Configs: 
        Topic: tpc-1    Partition: 0    Leader: 0       Replicas: 0,1,3 Isr: 0,1
        Topic: tpc-1    Partition: 1    Leader: 1       Replicas: 1,2,6 Isr: 1,2

查看topic串列

kafka-topics.sh --bootstrap-server linux01:9092,linux02:9092,linux03:9092 --list

kafka-topics.sh --list --zookeeper linux01:2181
__consumer_offsets
tpc-1

查看topic狀態資訊

kafka-topics.sh --describe --zookeeper linux01:2181  --topic test
Topic: test     PartitionCount: 3       ReplicationFactor: 3    Configs: 
        Topic: test     Partition: 0    Leader: 2       Replicas: 2,0,1 Isr: 2,0,1
        Topic: test     Partition: 1    Leader: 0       Replicas: 0,1,2 Isr: 0,1,2
        Topic: test     Partition: 2    Leader: 1       Replicas: 1,2,0 Isr: 1,2,0


# topic的磁區數量,以及每個磁區的副本數量,以及每個副本所在的broker節點,以及每個磁區的leader副本所在broker節點,以及每個磁區的ISR副本串列;
# ISR: in  sync  replica ,同步副同步本(當然也包含leader自身,replica.lag.time.max.ms =30000)
# OSR:out  of  sync replicas 失去同步的副本(該副本上次請求leader同步資料距現在的時間間隔超出配置閾值)

# ISR同步副本串列
# ISR概念:(同步副本),每個磁區的leader會維護一個ISR串列,ISR串列里面就是follower副本的Borker編號,只有跟得上Leader的 follower副本才能加入到 ISR里面
# 這個是通過replica.lag.time.max.ms =30000(默認值)引數配置的,只有ISR里的成員才有被選為 leader 的可能,

踢出ISR和重新加入ISR的條件:

  • 踢出ISR的條件: 由replica.lag.time.max.ms =30000決定,如上圖;
  • 重新加入ISR的條件: OSR副本的LEO(log end offset)追上leader的LEO;

洗掉topic

bin/kafka-topics.sh --zookeeper linux01:2181 --delete --topic test
# 洗掉topic,server.properties中需要一個引數處于啟用狀態: delete.topic.enable = true(默認是true)

# 使用 kafka-topics .sh 腳本洗掉主題的行為本質上只是在 ZooKeeper 中的 /admin/delete_topics 路徑下建一個與待洗掉主題同名的節點,以標記該主題為待洗掉的狀態,然后由 Kafka控制器異步完成,

增加磁區數

kafka-topics.sh --zookeeper linux01:2181 --alter --topic paopao --partitions 3

# Kafka只支持增加磁區,不支持減少磁區
# 原因是:減少磁區,代價太大(資料的轉移,日志段拼接合并)
# 如果真的需要實作此功能,則完全可以重新創建一個磁區數較小的主題,然后將現有主題中的訊息按照既定的邏輯復制過去;

動態配置topic引數(不常用)

# 通過管理命令,可以為已創建的topic增加、修改、洗掉topic level引數
# 添加/修改  指定topic的配置引數:

kafka-topics.sh  --zookeeper linux01:2181  --alter  --topic tpc2 --config compression.type=gzip
# --config compression.type=gzip  修改或添加引數配置
# --add-config compression.type=gzip  添加引數配置
# --delete-config compression.type  洗掉配置引數

生產者:kafka-console-producer

kafka-console-producer.sh --broker-list linux01:9092 --topic test01
>a
>b
>c
>hello 
>hi
>hadoop
>hive

順序輪詢(老版本)

順序分配,訊息是均勻的分配給每個 partition,即每個磁區存盤一次訊息,輪詢策略是 Kafka Producer 提供的默認策略,如果你不使用指定的輪詢策略的話,Kafka 默認會使用順序輪訓策略的方式,

隨機分配

實作隨機分配的代碼只需要兩行,如下

List<PartitionInfo> partitions = cluster.partitionsForTopic(topic);
return ThreadLocalRandom.current().nextInt(partitions.size()); 

消費者:kafka-console-consumer

消費者在消費的時候,需要指定要訂閱的主題,還可以指定消費的起始偏移量

起始偏移量的指定策略有3中:

  • earliest 起始點
  • latest 最新
  • 指定的offset( 磁區號:偏移量) ==》 必須的告訴他是哪個topic 的哪個磁區的哪個offset
  • 從之前所記錄的偏移量開始消費

在命令列中,可以指定從什么地方開始消費

  1. 加上引數 --from-beginning 指定從最前面開始消費
  2. 如果不加--from-beginning 就需要分情況討論了,如果之前記錄過消費的位置,那么就從之前消費的位置開始消費,如果說之前沒有記錄過之前消費的偏移量,那么就從最新的位置開始消費

kafka的topic中的訊息,是有序號的(序號叫訊息偏移量),而且訊息的偏移量是在各個partition中獨立維護的,在各個磁區內,都是從0開始遞增編號!

# 消費訊息
kafka-console-consumer.sh --bootstrap-server linux01:9092 --topic test01 --from-beginning
hive
hello
hadoop

# 指定從最前面開始消費
kafka-console-consumer.sh --bootstrap-server linux01:9092 --topic paopao --from-beginning
hadoop
list
hello
kafka

# 不指定他消費的位置的時候,就是從最新的地方開始消費
kafka-console-consumer.sh --bootstrap-server linux01:9092 --topic paopao

# 指定要消費的磁區,和要消費的起始offset
# 從指定的offset(需要指定偏移量和磁區號)
kafka-console-consumer.sh --bootstrap-server linux01:9092 --topic paopao --offset 2 --partition 0
yy
abc
3333
2222

消費組

  • 消費組是kafka為了提高消費并行度的一種機制!
  • 在kafka的底層邏輯中,任何一個消費者都有自己所屬的組(如果沒有指定,系統會自己給你分配一個組id)
  • 組和組之間,沒有任何關系,大家都可以消費到目標topic的所有資料
  • 但是組內的各個消費者,就只能讀到自己所分配到的partitions
  • KAFKA中的消費組,可以動態增減消費者,而且消費組中的消費者數量發生任意變動,都會重新分配磁區消費任務(消費者組在均衡策略)

如何讓多個消費者組成一個組: 就是讓這些消費者的groupId相同即可!

消費位移的記錄

kafka的消費者,可以記錄自己所消費到的訊息偏移量,記錄的這個偏移量就叫(消費位移);

記錄這個消費到的位置,作用就在于消費者重啟后可以接續上一次消費到位置來繼續往后面消費;

消費位移,是組內共享的!!!消費位置記錄在一個內置的topic中 ,默認是5s提交一次位移更新,
引數:auto.commit.interval.ms 默認是5s記錄一次

#  可以使用特定的工具類 決議內置記錄偏移量的topic
kafka-console-consumer.sh --bootstrap-server linux01:9092 --from-beginning --topic __consumer_offsets --formatter "kafka.coordinator.group.GroupMetadataManager\$OffsetsMessageFormatter"
# 通過指定formatter工具類,來對__consumer_offsets主題中的資料進行決議;

[g01,linux01,0]::OffsetAndMetadata(offset=14, leaderEpoch=Optional[0], metadata=https://www.cnblogs.com/paopaoT/archive/2023/06/07/, commitTimestamp=1659889851318, expireTimestamp=None)
[g01,linux01,2]::OffsetAndMetadata(offset=17, leaderEpoch=Optional[0], metadata=, commitTimestamp=1659889856319, expireTimestamp=None)
[g01,linux01,1]::OffsetAndMetadata(offset=13, leaderEpoch=Optional[0], metadata=, commitTimestamp=1659889856319, expireTimestamp=None)
[g01,linux01,0]::OffsetAndMetadata(offset=14, leaderEpoch=Optional[0], metadata=, commitTimestamp=1659889856319, expireTimestamp=None)

# 如果需要獲取某個特定 consumer-group的消費偏移量資訊,則需要計算該消費組的偏移量記錄所在磁區: Math.abs(groupID.hashCode()) % numPartitions(50)
# 根據組id的hash取值%50 確定具體是將這個組具體每個磁區消費到了哪里
# __consumer_offsets的磁區數為:50

配置管理 kafka-config

kafka-configs.sh 腳本是專門用來進行動態引數配置操作的,這里的操作是運行狀態修改原有的配置,如此可以達到動態變更的目的;一般情況下不會進行動態修改 ,
動態配置的引數,會被存盤在zookeeper上,因而是持久生效的
可用引數的查閱地址: https://kafka.apache.org/documentation/#configuration

# kafka-configs.sh 腳本包含:變更alter、查看describe 這兩種指令型別;
# kafka-configs. sh 支持主題、 broker 、用戶和客戶端這4個型別的配置,
# kafka-configs.sh 腳本使用 entity-type 引數來指定操作配置的型別,并且使 entity-name引數來指定操作配置的名稱,
# 比如查看topic的配置可以按如下方式執行:
kafka-configs.sh --zookeeper linux01:2181  --describe  --entity-type topics  --entity-name paopao

# 查看broker的動態配置可以按如下方式執行:
kafka-configs.sh  --describe --entity-type brokers --entity-name 0 --zookeeper linux01:2181

entity-type和entity-name的對應關系

image

# 示例:添加topic級別引數
kafka-configs.sh --zookeeper linux01:2181 --alter --entity-type topics --entity-name paopao --add-config cleanup.policy=compact,max.message.bytes=10000

# 示例:添加broker引數
kafka-configs.sh  --entity-type brokers --entity-name 0 --alter --add-config log.flush.interval.ms=1000 --bootstrap-server linux01:9092,linux02:9092,linux03:9092

動態配置topic引數

通過管理命令,可以為已創建的topic增加、修改、洗掉topic level引數
添加/修改 指定topic的配置引數:

kafka-topics.sh  --topic paopao --alter  --config compression.type=gzip --zookeeper linux01:2181

# 如果利用 kafka-configs.sh 腳本來對topic、producer、consumer、broker等進行引數動態
# 添加、修改配置引數
kafka-configs.sh --zookeeper linux01:2181 --entity-type topics --entity-name paopao --alter --add-config compression.type=gzip

# 洗掉配置引數
kafka-configs.sh --zookeeper linux01:2181 --entity-type topics --entity-name paopao --alter --delete-config compression.type

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/554640.html

標籤:其他

上一篇:《SQL 必知必會》全決議

下一篇:返回列表

標籤雲
其他(160598) Python(38215) JavaScript(25484) Java(18209) C(15237) 區塊鏈(8270) C#(7972) AI(7469) 爪哇(7425) MySQL(7238) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5873) 数组(5741) R(5409) Linux(5347) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4585) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2434) ASP.NET(2403) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) .NET技术(1983) 功能(1967) HtmlCss(1955) Web開發(1951) C++(1933) python-3.x(1918) 弹簧靴(1913) xml(1889) PostgreSQL(1880) .NETCore(1863) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • GPU虛擬機創建時間深度優化

    **?桔妹導讀:**GPU虛擬機實體創建速度慢是公有云面臨的普遍問題,由于通常情況下創建虛擬機屬于低頻操作而未引起業界的重視,實際生產中還是存在對GPU實體創建時間有苛刻要求的業務場景。本文將介紹滴滴云在解決該問題時的思路、方法、并展示最終的優化成果。 從公有云服務商那里購買過虛擬主機的資深用戶,一 ......

    uj5u.com 2020-09-10 06:09:13 more
  • 可編程網卡芯片在滴滴云網路的應用實踐

    **?桔妹導讀:**隨著云規模不斷擴大以及業務層面對延遲、帶寬的要求越來越高,采用DPDK 加速網路報文處理的方式在橫向縱向擴展都出現了局限性。可編程芯片成為業界熱點。本文主要講述了可編程網卡芯片在滴滴云網路中的應用實踐,遇到的問題、帶來的收益以及開源社區貢獻。 #1. 資料中心面臨的問題 隨著滴滴 ......

    uj5u.com 2020-09-10 06:10:21 more
  • 滴滴資料通道服務演進之路

    **?桔妹導讀:**滴滴資料通道引擎承載著全公司的資料同步,為下游實時和離線場景提供了必不可少的源資料。隨著任務量的不斷增加,資料通道的整體架構也隨之發生改變。本文介紹了滴滴資料通道的發展歷程,遇到的問題以及今后的規劃。 #1. 背景 資料,對于任何一家互聯網公司來說都是非常重要的資產,公司的大資料 ......

    uj5u.com 2020-09-10 06:11:05 more
  • 滴滴AI Labs斬獲國際機器翻譯大賽中譯英方向世界第三

    **桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......

    uj5u.com 2020-09-10 06:11:29 more
  • MPP (Massively Parallel Processing)大規模并行處理

    1、什么是mpp? MPP (Massively Parallel Processing),即大規模并行處理,在資料庫非共享集群中,每個節點都有獨立的磁盤存盤系統和記憶體系統,業務資料根據資料庫模型和應用特點劃分到各個節點上,每臺資料節點通過專用網路或者商業通用網路互相連接,彼此協同計算,作為整體提供 ......

    uj5u.com 2020-09-10 06:11:41 more
  • 滴滴資料倉庫指標體系建設實踐

    **桔妹導讀:**指標體系是什么?如何使用OSM模型和AARRR模型搭建指標體系?如何統一流程、規范化、工具化管理指標體系?本文會對建設的方法論結合滴滴資料指標體系建設實踐進行解答分析。 #1. 什么是指標體系 ##1.1 指標體系定義 指標體系是將零散單點的具有相互聯系的指標,系統化的組織起來,通 ......

    uj5u.com 2020-09-10 06:12:52 more
  • 單表千萬行資料庫 LIKE 搜索優化手記

    我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......

    uj5u.com 2020-09-10 06:13:25 more
  • 滴滴Ceph分布式存盤系統優化之鎖優化

    **桔妹導讀:**Ceph是國際知名的開源分布式存盤系統,在工業界和學術界都有著重要的影響。Ceph的架構和演算法設計發表在國際系統領域頂級會議OSDI、SOSP、SC等上。Ceph社區得到Red Hat、SUSE、Intel等大公司的大力支持。Ceph是國際云計算領域應用最廣泛的開源分布式存盤系統, ......

    uj5u.com 2020-09-10 06:14:51 more
  • es~通過ElasticsearchTemplate進行聚合~嵌套聚合

    之前寫過《es~通過ElasticsearchTemplate進行聚合操作》的文章,這一次主要寫一個嵌套的聚合,例如先對sex集合,再對desc聚合,最后再對age求和,共三層嵌套。 Aggregations的部分特性類似于SQL語言中的group by,avg,sum等函式,Aggregation ......

    uj5u.com 2020-09-10 06:14:59 more
  • 爬蟲日志監控 -- Elastc Stack(ELK)部署

    傻瓜式部署,只需替換IP與用戶 導讀: 現ELK四大組件分別為:Elasticsearch(核心)、logstash(處理)、filebeat(采集)、kibana(可視化) 下載均在https://www.elastic.co/cn/downloads/下tar包,各組件版本最好一致,配合fdm會 ......

    uj5u.com 2020-09-10 06:15:05 more
最新发布
  • kafka的安裝和基本操作

    # 基本概念 ## 簡介 Kafka 最初是由 LinkedIn 即領英公司基于 Scala 和 Java 語言開發的分布式訊息發布-訂閱系統,現已捐獻給Apache 軟體基金會。其具有高吞吐、低延遲的特性,許多大資料實時流式處理系統比如 Storm、Spark、Flink等都能很好地與之集成。 總 ......

    uj5u.com 2023-06-08 09:43:14 more
  • 《SQL 必知必會》全決議

    > 不要哀求,學會爭取。若是如此,終有所獲。 > > 原文:https://mp.weixin.qq.com/s/zbOqyAtsWsocarsFIGdGgw ## 前言 你是否還在煩惱 SQL 該從何學起,或者學了 SQL 想找個地方練練手?好巧不巧,最近在作業之余登上牛客,發現了牛客不知道啥時候 ......

    uj5u.com 2023-06-08 09:43:09 more
  • GaussDB(DWS)查詢過濾器原理與應用

    摘要:GaussDB(DWS)查詢過濾器(黑名單)提供查詢過濾功能,支持自動隔離反復被終止的查詢,防止爛SQL再次執行。 本文分享自華為云社區《GaussDB(DWS)查詢過濾器原理與應用》,作者:門前一棵葡萄樹 。 一、概述 GaussDB(DWS)查詢過濾器(黑名單)提供查詢過濾功能,支持自動隔 ......

    uj5u.com 2023-06-08 09:43:01 more
  • SQL Server 補丁理解及安裝 內附完整版下載地址及sp1/2/3補丁

    啟動安裝程式 下載sqlserver2014,雙擊startup.exe進行安裝 系統配置檢查器 使用系統配置檢查器,看系統是否符合安裝sqlserver2014的所有要求 開始安裝 然后點擊安裝,全新sqlserver獨立安裝或向現有安裝添加功能 安裝規則 然后就是使用默認的設定,點開詳細資訊,可 ......

    uj5u.com 2023-06-08 09:42:22 more
  • 一份配置輕松搞定表單渲染,配置式表單渲染器在袋鼠云的實作思路與

    前段時間,[袋鼠云離線開發產品](https://www.dtstack.com/dtinsight?src=https://www.cnblogs.com/DTinsight/archive/2023/06/07/szsm)接到改造資料同步表單的需求。 一方面,[資料同步模塊](https://www.dtstack.com/dtinsight?src=szsm)的代碼可讀性和可維護性較差,導致在資料 ......

    uj5u.com 2023-06-08 09:40:24 more
  • SQL Server 補丁理解及安裝 內附完整版下載地址及sp1/2/3補丁

    啟動安裝程式 下載sqlserver2014,雙擊startup.exe進行安裝 系統配置檢查器 使用系統配置檢查器,看系統是否符合安裝sqlserver2014的所有要求 開始安裝 然后點擊安裝,全新sqlserver獨立安裝或向現有安裝添加功能 安裝規則 然后就是使用默認的設定,點開詳細資訊,可 ......

    uj5u.com 2023-06-08 09:39:20 more
  • 國產資料庫的譜系

    資料庫產品的成功絕對不是技術堆疊的成功,而是需要有大量的應用場景磨合才能逐步成功的。如果僅僅依靠自己那幾百個用戶,想要發展出成熟的高水平的商用資料庫產品來,那幾乎是不太能的。依靠開源社區的廣大用戶來研發自己的資料庫產品不失為一種比較好的策略。 ......

    uj5u.com 2023-06-08 09:38:28 more
  • 手記系列之五 ----- SQL使用經驗分享

    ## 前言 本篇文章主要介紹的關于本人從剛作業到現在使用Sql一些使用方法和經驗,從最基本的SQL函式使用,到一些場景的業務場景SQL撰寫。 ## SQL基礎函式使用 ### 1.欄位轉換 CASE WHEN 意義: If(a==b) a=c; 用法: 1, CASE 欄位 WHEN 欄位結果1 T ......

    uj5u.com 2023-06-08 09:36:41 more
  • 《SQL 必知必會》全決議

    > 不要哀求,學會爭取。若是如此,終有所獲。 > > 原文:https://mp.weixin.qq.com/s/zbOqyAtsWsocarsFIGdGgw ## 前言 你是否還在煩惱 SQL 該從何學起,或者學了 SQL 想找個地方練練手?好巧不巧,最近在作業之余登上牛客,發現了牛客不知道啥時候 ......

    uj5u.com 2023-06-08 09:36:17 more
  • GaussDB(DWS)查詢過濾器原理與應用

    摘要:GaussDB(DWS)查詢過濾器(黑名單)提供查詢過濾功能,支持自動隔離反復被終止的查詢,防止爛SQL再次執行。 本文分享自華為云社區《GaussDB(DWS)查詢過濾器原理與應用》,作者:門前一棵葡萄樹 。 一、概述 GaussDB(DWS)查詢過濾器(黑名單)提供查詢過濾功能,支持自動隔 ......

    uj5u.com 2023-06-08 09:36:10 more