<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>MongoDB 彙整 - 歐立威科技</title>
	<atom:link href="https://www.omniwaresoft.com.tw/tag/mongodb/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.omniwaresoft.com.tw/tag/mongodb/</link>
	<description>歐立威科技 Omniwaresoft｜全方位企業級開源軟體解決方案</description>
	<lastBuildDate>Tue, 27 Jan 2026 07:52:13 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.4</generator>

<image>
	<url>https://www.omniwaresoft.com.tw/wp-content/uploads/2022/12/android-icon-192x192-1.png</url>
	<title>MongoDB 彙整 - 歐立威科技</title>
	<link>https://www.omniwaresoft.com.tw/tag/mongodb/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">242464019</site>	<item>
		<title>運用 Kafka 實現 CDC 資料同步 &#8211; 以 MongoDB 為例</title>
		<link>https://www.omniwaresoft.com.tw/techcolumn/kafka-techcolumn/using-kafka-for-cdc-with-mongodb/</link>
		
		<dc:creator><![CDATA[Omni]]></dc:creator>
		<pubDate>Thu, 27 Oct 2022 08:09:08 +0000</pubDate>
				<category><![CDATA[Kafka 技術專欄]]></category>
		<category><![CDATA[MongoDB 技術專欄]]></category>
		<category><![CDATA[CDC]]></category>
		<category><![CDATA[Kafka]]></category>
		<category><![CDATA[MongoDB]]></category>
		<guid isPermaLink="false">http://www.omniwaresoft.com.tw/?p=18311</guid>

					<description><![CDATA[本文以透過 MongoDB Kafka Connector 實現 MongoDB 集群間的資料同步為例，開源的 Kafka Connect 外掛程式有 Debezium MongoDB Connector 和 MongoDB Kafka Connector 。本文旨在提供讀者自行架設簡易測試環境的步驟作為參考，並用以驗證資料庫間的資料串流功能。]]></description>
										<content:encoded><![CDATA[<h2><strong>前言</strong></h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>關於 CDC 技術的簡介及<a href="https://www.omniwaresoft.com.tw/product-news/kafka-news/kafka-introduction/" target="_blank" rel="noopener"> Kafka</a> 如何用在 CDC，可以參考文章<a href="https://www.omniwaresoft.com.tw/product-news/kafka-news/what-is-cdc/" target="_blank" rel="noreferrer noopener">「淺談 Change Data Capture (CDC) 及重要性，它如何實現資料同步？」</a>的介紹。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>我們會以透過 MongoDB Kafka Connector 實現 MongoDB 集群間的資料同步為例，開源的 Kafka Connect 外掛程式有 Debezium MongoDB Connector 和 MongoDB Kafka Connector 等，下表作簡單比較：</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:table --></p>
<figure>
<table>
<thead>
<tr>
<th data-align="center">工具</th>
<th data-align="center">Debezium MongoDB Connector</th>
<th data-align="center">MongoDB Kafka Connector</th>
</tr>
</thead>
<tbody>
<tr>
<td data-align="center">支援性</td>
<td data-align="center">僅提供來源端連接器驅動程式</td>
<td data-align="center">提供來源端及目的端連接器驅動程式</td>
</tr>
<tr>
<td data-align="center">同步機制</td>
<td data-align="center">Oplog Mode (~v1.9) Change Streams Mode (v1.8+)</td>
<td data-align="center">Change Streams Mode</td>
</tr>
<tr>
<td data-align="center">接收端 CDC 資料處理</td>
<td data-align="center">需搭配 MongoDB Kafka Connector 提供的 Debezium CDC Handler</td>
<td data-align="center">MongoDB CDC Handler</td>
</tr>
<tr>
<td data-align="center">作用 MongoDB 節點</td>
<td data-align="center">僅支援單一節點 Replica Set/Sharded Cluster</td>
<td data-align="center">支援多節點 Replica Set/Sharded Cluster</td>
</tr>
</tbody>
</table>
</figure>
<p><!-- /wp:table --></p>
<p><!-- wp:paragraph --></p>
<p>本文旨在提供讀者自行架設簡易測試環境的步驟作為參考，並用以驗證資料庫間的資料串流功能。以下內容將著重在說明如何建置 Kafka 服務及設定資料同步的工作。 </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading {"fontSize":"medium"} --></p>
<h2>你需要準備</h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:list --></p>
<ul>
<li style="list-style-type: none;">
<ul><!-- wp:list-item --></ul>
</li>
</ul>
<ul>
<li style="list-style-type: none;">
<ul>
<li>一台已安裝 Linux 穩定發行版本的 VM 或實體機器，本文使用 CentOS 7。 建議配置：
<ul>
<li style="list-style-type: none;">
<ul>
<li>vCPUs: 4 以上</li>
</ul>
</li>
</ul>
<p><!-- /wp:list-item --></p>
<p><!-- wp:list-item --></p>
<ul>
<li style="list-style-type: none;">
<ul>
<li>RAM: 8 GB 以上</li>
</ul>
</li>
</ul>
<p><!-- /wp:list-item --></p>
<p><!-- wp:list-item --></p>
<ul>
<li style="list-style-type: none;">
<ul>
<li>Disk: 500 GB 以上</li>
</ul>
</li>
</ul>
<p><!-- /wp:list-item --></p>
<p><!-- /wp:list --></p>
</li>
</ul>
</li>
</ul>
<p><!-- /wp:list-item --></p>
<p><!-- wp:list-item --></p>
<ul>
<li style="list-style-type: none;">
<ul>
<li>Linux 基本操作知識</li>
</ul>
</li>
</ul>
<p><!-- /wp:list-item --></p>
<p><!-- wp:list-item --></p>
<ul>
<li style="list-style-type: none;">
<ul>
<li>來源端及目的端 MongoDB 集群（含連線資訊、具 <code>ChangeStreams</code> 讀取及相關表格讀寫等權限可供 Connector 工作使用的連線帳密）
<ul>
<li style="list-style-type: none;">
<ul>
<li>需為 Replica Set 或是 Sharded Cluster</li>
</ul>
</li>
</ul>
<p><!-- /wp:list-item --></p>
<p><!-- /wp:list --></p>
</li>
</ul>
</li>
</ul>
<p><!-- /wp:list-item --></p>
<p><!-- wp:list-item --></p>
<ul>
<li style="list-style-type: none;">
<ul>
<li>來源端 MongoDB 表格（含資料），本文假設為 <code>mydb</code> database 下的 <code>mycoll</code> 表格</li>
</ul>
</li>
</ul>
<p><!-- /wp:list-item --></p>
<p><!-- wp:list-item --></p>
<ul>
<li style="list-style-type: none;">
<ul>
<li>MongoDB 集群的連線工具，如 MongoDB Compass 或 terminal</li>
</ul>
</li>
</ul>
<p><!-- /wp:list-item --></p>
<p><!-- /wp:list --></p>
<p><!-- wp:separator {"opacity":"css"} --></p>
<hr />
<p><!-- /wp:separator --></p>
<p><!-- wp:heading {"fontSize":"medium"} --></p>
<h2>環境架構</h2>
<p><img data-recalc-dims="1" fetchpriority="high" class="alignnone  wp-image-34921" src="https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/10/mongodb-kafka-architecture.jpg?resize=507%2C142&#038;ssl=1" alt="mongodb-kafka-architecture" width="507" height="142" srcset="https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/10/mongodb-kafka-architecture.jpg?resize=300%2C84&amp;ssl=1 300w, https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/10/mongodb-kafka-architecture.jpg?resize=1024%2C287&amp;ssl=1 1024w, https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/10/mongodb-kafka-architecture.jpg?resize=768%2C215&amp;ssl=1 768w, https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/10/mongodb-kafka-architecture.jpg?resize=1536%2C431&amp;ssl=1 1536w, https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/10/mongodb-kafka-architecture.jpg?w=2000&amp;ssl=1 2000w" sizes="(max-width: 507px) 100vw, 507px" /></p>
<p><!-- /wp:heading --></p>
<p><!-- wp:image {"align":"center","width":594,"height":166} --></p>
<p><!-- /wp:image --></p>
<p><!-- wp:paragraph {"align":"center"} --></p>
<p><strong>Kafka 架構示意圖</strong></p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>我們在同一台機器上安裝單節點 Kafka 及 Kafka Connect，並在 Kafka Connect 中加入 MongoDB Kafka Connector 外掛程式。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading {"level":3,"style":{"typography":{"fontSize":18}}} --></p>
<h3 style="font-size: 18px;">MongoDB 的 CDC 機制 (Change Streams)</h3>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>MongoDB 的 Change Streams 功能就像資料庫的實時脈搏，它可以捕捉資料庫中發生的任何變化，並將這些變化傳遞給其他系統。</p>
<p data-sourcepos="5:1-5:24"><strong>Change Streams 如何運作？</strong></p>
<p data-sourcepos="7:1-7:86">Change Streams 會監控 MongoDB 的操作日誌 (oplog)，並將資料的異動 (例如新增、修改、刪除) 轉換成異動事件 (Change Event)。</p>
<p data-sourcepos="9:1-9:60"><strong>當 MongoDB 資料庫發生變化時，Change Streams 會捕捉這些變化，並將其傳遞給 Kafka。</strong></p>
<p data-sourcepos="11:1-11:13">更具體地說，整個流程如下：</p>
<ol data-sourcepos="13:1-17:0">
<li data-sourcepos="13:1-13:83"><strong>資料庫異動：</strong> 當來源端的 MongoDB 資料表格發生異動時，例如新增、修改或刪除文件，MongoDB 會產生新的異動事件，並記錄在 oplog 中。</li>
<li data-sourcepos="14:1-14:63"><strong>捕捉異動事件：</strong> Source Connector 會持續監控 oplog，捕捉這些異動事件，並將其集結成批次。</li>
<li data-sourcepos="15:1-15:81"><strong>發送至 Kafka：</strong> Source Connector 會將批次的異動事件發送到 Kafka Broker，並寫入指定的 Kafka Topic。</li>
<li data-sourcepos="16:1-17:0"><strong>同步至目標系統：</strong> Sink Connector 會從 Kafka Broker 讀取指定 Topic 中的資料，並根據異動事件的內容，將新的文件寫入目的端 MongoDB 的指定表格，或執行其他同步操作。</li>
</ol>
<p data-sourcepos="18:1-18:23"> </p>
<p><!-- /wp:list-item --></p>
<p><!-- wp:heading {"level":3,"style":{"typography":{"fontSize":18}}} --></p>
<h3 style="font-size: 18px;">Kafka 服務相關元件和名詞介紹</h3>
<p data-sourcepos="3:1-3:74">在 Kafka 的訊息旅程中，許多幕後推手扮演著重要的角色，確保訊息能順利地從生產者傳遞到消費者。以下介紹 Kafka 服務中幾個關鍵的元件和名詞：</p>
<p data-sourcepos="5:1-5:8"><strong>協調者：</strong></p>
<ul data-sourcepos="7:1-8:0">
<li data-sourcepos="7:1-8:0"><strong>ZooKeeper：</strong> 如同一位經驗豐富的指揮家，ZooKeeper 負責協調 Kafka 各服務節點的狀態管理和工作分配，確保整個系統的穩定運行。在 Kafka 2.8.0 以後的版本，Kafka 引入了 KRaft 模式，可以脫離 ZooKeeper 運作，更加輕量化和高效。</li>
</ul>
<p data-sourcepos="9:1-9:10"><strong>訊息的歸宿：</strong></p>
<ul data-sourcepos="11:1-14:0">
<li data-sourcepos="11:1-11:58"><strong>Broker：</strong> Kafka 的節點，如同一個個郵局，負責處理對 Topic 寫入或讀取資料的請求。</li>
<li data-sourcepos="12:1-12:45"><strong>Topic：</strong> 存放資料的容器，如同郵局中的郵箱，用於存放不同類型的訊息。</li>
<li data-sourcepos="13:1-14:0"><strong>Partition：</strong> Topic 的分割，如同將郵箱分成多個隔層，讓 Consumer 可以同時拉取不同 Partition 中的資料，提升處理效率。</li>
</ul>
<p data-sourcepos="15:1-15:15"><strong>訊息的生產者和消費者：</strong></p>
<ul data-sourcepos="17:1-19:0">
<li data-sourcepos="17:1-17:62"><strong>Producer：</strong> 將資料送往 Kafka Broker 寫入的資料製造者，如同寄件人，將訊息投遞到郵箱。</li>
<li data-sourcepos="18:1-19:0"><strong>Consumer / Consumer Groups：</strong> Topic 訊息的消費者，如同收件人，從郵箱中取出訊息。同一個 Topic 可能有很多個消費者，因此以群組形式存在，確保每個訊息都能被消費。</li>
</ul>
<p data-sourcepos="20:1-20:14"><strong>訊息旅程的可靠保障：</strong></p>
<ul data-sourcepos="22:1-23:0">
<li data-sourcepos="22:1-23:0"><strong>Leader / Followers：</strong> Kafka 通常以多節點集群的形式運作，集群中會有一個主要節點作為主節點 (Leader)，其他節點則為副節點 (Followers)，從主節點同步狀態及資料，確保訊息的可靠性和容錯能力。</li>
</ul>
<p data-sourcepos="24:1-24:12"><strong>資料同步的橋樑：</strong></p>
<ul data-sourcepos="26:1-31:0">
<li data-sourcepos="26:1-26:61"><strong>Kafka Connect：</strong> 負責 Connector 的管理，如同一位聯絡員，負責協調資料的同步工作。</li>
<li data-sourcepos="27:1-27:83"><strong>plugin：</strong> 供 Kafka Connect 使用的外掛驅動程式，如同不同的轉接頭，讓 Kafka Connect 可以連接到不同的資料庫或系統。</li>
<li data-sourcepos="28:1-28:100"><strong>Connector：</strong> 與外部資料環境及 Kafka 對接，用來進行指定讀/寫資料工作的單位，如同一位搬運工，負責將資料從來源系統搬運到 Kafka，或從 Kafka 搬運到目標系統。</li>
<li data-sourcepos="29:1-31:0"><strong>Worker / Worker Task：</strong> 一個 Sink Connector 下依據 Topic partition 數目可以有一或多個 process 平行執行 Connector 設定中定義的工作，如同多位搬運工同時工作，提升資料同步的效率。</li>
</ul>
<p><!-- /wp:list-item --></p>
<p><!-- /wp:list --></p>
<p><!-- wp:separator {"opacity":"css"} --></p>
<hr />
<p><!-- /wp:separator --></p>
<p><!-- wp:heading {"fontSize":"medium"} --></p>
<h2>操作步驟</h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:heading {"level":3,"style":{"typography":{"fontSize":18}}} --></p>
<h3 style="font-size: 18px;">一、下載 Apache Kafka</h3>
<p><!-- /wp:heading --></p>
<p><!-- wp:code --></p>
<pre><code>curl &lt;https://downloads.apache.org/kafka/3.3.1/kafka_2.13-3.3.1.tgztar&gt; -zvf kafka_2.13-3.3.1.tgzcd kafka_2.13-3.3.1</code></pre>
<p><!-- /wp:code --></p>
<p><!-- wp:heading {"level":3,"style":{"typography":{"fontSize":18}}} --></p>
<h3 style="font-size: 18px;">二、啟動 Kafka 服務</h3>
<p><!-- /wp:heading --></p>
<p><!-- wp:code --></p>
<pre><code>./bin/kafka-server-start.sh</code></pre>
<p><!-- /wp:code --></p>
<p><!-- wp:paragraph --></p>
<p>Kafka 預設使用 port 9092。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading {"level":3,"style":{"typography":{"fontSize":18}}} --></p>
<h3 style="font-size: 18px;">三、啟動 Kafka Connect 服務</h3>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>Kafka Connect 分有 standalone (預設使用 <code>./config/connect-standalone.properties</code> 中的設定) 及 distributed (預設使用 <code>./config/connect-distributed.properties</code> 中的設定)。差異在於 distributed 版本支援分散儲存 topic 中的資料，一般建議使用 distributed 版本</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>在啟動 Kafka Connect 之前，我們需要先安裝 MongoDB Kafka Connector 外掛，在啟動 Kafka Connect 服務時才會讀取到該外掛程式的存在。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>開啟 <code>connect-distributed.properties</code>，往下滾動至最底部，找到 <code>plugin.path</code> 一行，修改為您要放置外掛檔案的路徑位置。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:code --></p>
<pre><code>vi ./config/connect-distributed.properties</code></pre>
<p><!-- /wp:code --></p>
<p><!-- wp:paragraph --></p>
<p>下載外掛程式並移至 <code>.properties</code> 中指定 <code>plugin.path</code> 即可，這邊假設為 <code>kafka_2.13-3.3.1/plugins</code>。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:code --></p>
<pre><code>curl &lt;https://search.maven.org/remotecontent?filepath=org/mongodb/kafka/mongo-kafka-connect/1.8.0/mongo-kafka-connect-1.8.0-all.jarmkdir&gt; -p pluginscp mongo-kafka-connect-1.8.0-all.jar plugins</code></pre>
<p><!-- /wp:code --></p>
<p><!-- wp:paragraph --></p>
<p>再來啟動 Kafka Connect，預設使用 port 8083</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:code --></p>
<pre><code>./bin/connect-distributed.sh</code></pre>
<p><!-- /wp:code --></p>
<p><!-- wp:paragraph --></p>
<p>可以透過以下指令查看已安裝的 Kafka connector plugins，此時應該要看得到 <code>MongoSourceConnector</code> 及 <code>MongoSinkConnector</code>。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:code --></p>
<pre><code>curl &lt;http://localhost:8083/connector-plugins&gt;</code></pre>
<p><!-- /wp:code --></p>
<p><!-- wp:heading {"level":3,"style":{"typography":{"fontSize":18}}} --></p>
<h3 style="font-size: 18px;">四、新增 Source Connector</h3>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>Kafka Connect 提供 REST API 管理執行中的 connector 工作，包含新增 connector、查看 connector 設定內容、變更 connector 設定內容、刪除 connector 等。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>在新增 connector 時透過 API 傳入的設定為 json 格式，為方便可以將設定存為檔案再由指令呼叫設定檔內容。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>以下提供 source connector 範例及常用設定表列說明。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:code --></p>
<pre><code>mongo-src-connector.json
{   
"name": "mongo-src-connector",    
"config": {        
"connector.class": "com.mongodb.kafka.connect.MongoSourceConnector",
"connection.uri": "mongodb://admin:password@mymongosrc1:27017,mymongosrc2:27017,mymongosrc3:27017", 
"database": "mydb", 
"collection": "mycoll",        
"topic.prefix": "src",        
"copy.existing": true,       
"key.converter": "org.apache.kafka.connect.json.JsonConverter",        "key.converter.schemas.enable": "false",       
"value.converter": "org.apache.kafka.connect.json.JsonConverter",        "value.converter.schemas.enable": "false",        
"tasks.max": "1"    }
}</code></pre>
<p><!-- /wp:code --></p>
<p><!-- wp:table {"className":"is-style-regular"} --></p>
<figure>
<table>
<thead>
<tr>
<th data-align="center">設定參數</th>
<th data-align="center">說明</th>
</tr>
</thead>
<tbody>
<tr>
<td data-align="center">name</td>
<td data-align="center">用以辨別此 Connector 工作的名稱</td>
</tr>
<tr>
<td data-align="center">connector.class</td>
<td data-align="center">Kafka connector plugin 的 class 名稱</td>
</tr>
<tr>
<td data-align="center">connection.uri</td>
<td data-align="center">MongoDB 集群連線字串密碼若包含特殊符號如@，需要轉換為 <a href="https://zh.wikipedia.org/zh-tw/%E7%99%BE%E5%88%86%E5%8F%B7%E7%BC%96%E7%A0%81" target="_blank" rel="noreferrer noopener">URL Encoding</a></td>
</tr>
<tr>
<td data-align="center">database</td>
<td data-align="center">指定監聽異動的 database 名稱未指定 database 及 collection 時監聽範圍為整個集群</td>
</tr>
<tr>
<td data-align="center">collection</td>
<td data-align="center">指定監聽異動的 collection 名稱，此參數只支援單一 collection未指定 collection 時監聽範圍為整個指定 database</td>
</tr>
<tr>
<td data-align="center">topic.prefix</td>
<td data-align="center">指定目標 kafka topic 的前綴字串</td>
</tr>
<tr>
<td data-align="center">topic.suffix</td>
<td data-align="center">指定目標 kafka topic 的後綴字串</td>
</tr>
<tr>
<td data-align="center">copy.existing</td>
<td data-align="center">設定是否複製 collection 內既有資料，預設為 false</td>
</tr>
<tr>
<td data-align="center">task.max</td>
<td data-align="center">此 Connector 可以使用的 Worker Task 上限，預設為 1</td>
</tr>
</tbody>
</table>
</figure>
<p><!-- /wp:table --></p>
<p><!-- wp:paragraph --></p>
<p>我們需要先建立 Kafka Topic，才能讓 Connector 透過 Broker 寫入</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:code --></p>
<pre><code>./bin/kafka-topics.sh --bootstrap-server localhost:9092 --create --topic src.mydb.mycoll --replication-factor 3 --partition 1</code></pre>
<p><!-- /wp:code --></p>
<p><!-- wp:paragraph --></p>
<p><strong>｜</strong>replication-factor: 一共會有幾份相同的 topic，建議 production 設定為 3</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>確認剛才建立的 topic 資訊</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:code --></p>
<pre><code>./bin/kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic src.mydb.mycoll</code></pre>
<p><!-- /wp:code --></p>
<p><!-- wp:paragraph --></p>
<p>之後便可透過以下指令啟動 Source Connector</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:code --></p>
<pre><code>curl -X POST &lt;http://localhost:8083/connectors&gt; -H "Accept:application/json" -H "Content-Type:application/json" -d @mongo-src-connector.json</code></pre>
<p><!-- /wp:code --></p>
<p><!-- wp:heading {"level":3,"style":{"typography":{"fontSize":18}}} --></p>
<h3 style="font-size: 18px;">五、觀察 Kafka Topic 內容</h3>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>我們先來確認 Source Connector 有正常啟動（無錯誤訊息且狀態為 RUNNING），以及表格資料是否如預期寫入 Kafka topic。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading {"level":3,"style":{"typography":{"fontSize":18}}} --></p>
<h3 style="font-size: 18px;">六、檢查 Connector 狀態</h3>
<p><!-- /wp:heading --></p>
<p><!-- wp:code --></p>
<pre><code>curl &lt;http://localhost:8083/connectors/mongo-src-connector/status&gt;</code></pre>
<p><!-- /wp:code --></p>
<p><!-- wp:heading {"level":3,"style":{"typography":{"fontSize":18}}} --></p>
<h3 style="font-size: 18px;">七、列出所有 Kafka topics</h3>
<p><!-- /wp:heading --></p>
<p><!-- wp:code --></p>
<pre><code>./bin/kafka-topics.sh --bootstrap-server localhost:9092 --list</code></pre>
<p><!-- /wp:code --></p>
<p><!-- wp:heading {"level":3,"style":{"typography":{"fontSize":18}}} --></p>
<h3 style="font-size: 18px;">八、查看 Kafka topic 內資料</h3>
<p><!-- /wp:heading --></p>
<p><!-- wp:code --></p>
<pre><code>./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic src.mydb.mycoll</code></pre>
<p><!-- /wp:code --></p>
<p><!-- wp:heading {"level":3,"style":{"typography":{"fontSize":18}}} --></p>
<h3 style="font-size: 18px;">九、新增 Sink Connector</h3>
<p><!-- /wp:heading --></p>
<p><!-- wp:code --></p>
<pre><code>mongo-sink-connector.json
{   
"name": "mongo-sink-connector",   
"config": {        
"connector.class": "com.mongodb.kafka.connect.MongoSinkConnector",        
"connection.uri": "mongodb://admin:password@mymongosink1:27017,mymongosink2:27017,mymongosink3:27017",
"topics": "src.mydb.mycoll",        
"database": "sinkdb",        
"collection": "sinkcoll",        
"key.converter": "org.apache.kafka.connect.json.JsonConverter",        "key.converter.schemas.enable": "false",        
"value.converter": "org.apache.kafka.connect.json.JsonConverter",        "value.converter.schemas.enable": "false",        
"change.data.capture.handler": "com.mongodb.kafka.connect.sink.cdc.mongodb.ChangeStreamHandler",        
"tasks.max": "1"    }
}</code></pre>
<p><!-- /wp:code --></p>
<p><!-- wp:paragraph --></p>
<p>接著便可透過以下指令啟動 Sink Connector</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:code --></p>
<pre><code>curl -X POST &lt;http://localhost:8083/connectors&gt; -H "Accept:application/json" -H "Content-Type:application/json" -d @mongo-sink-connector.json</code></pre>
<p><!-- /wp:code --></p>
<p><!-- wp:heading {"level":3,"style":{"typography":{"fontSize":18}}} --></p>
<h3 style="font-size: 18px;">十、觀察結果</h3>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>在確認 Sink Connector 正常啟動後，同步工作至此已經架設完成。您可以參考以下指令，在先前建立的 connector 工作持續運作的狀態下，連線到來源端 MongoDB 進行操作。透過另一個連線，在目的端 MongoDB 表格結果是否與來源端一致。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:list --></p>
<ul>
<li style="list-style-type: none;">
<ul><!-- wp:list-item --></ul>
</li>
</ul>
<ul>
<li style="list-style-type: none;">
<ul>
<li>連線至 MongoDB</li>
</ul>
</li>
</ul>
<p><!-- /wp:list-item --></p>
<p><!-- /wp:list --></p>
<p><!-- wp:code --></p>
<pre><code>mongosh mongodb://admin:password@mymongosink1:27017,mymongosink2:27017,mymongosink3:27017</code></pre>
<p><!-- /wp:code --></p>
<p><!-- wp:list --></p>
<ul>
<li style="list-style-type: none;">
<ul><!-- wp:list-item --></ul>
</li>
</ul>
<ul>
<li style="list-style-type: none;">
<ul>
<li>自來源端表格新增一筆資料</li>
</ul>
</li>
</ul>
<p><!-- /wp:list-item --></p>
<p><!-- /wp:list --></p>
<p><!-- wp:code --></p>
<pre><code>use mydb
db.mycoll.insertOne({ name: "TestField" });</code></pre>
<p><!-- /wp:code --></p>
<p><!-- wp:paragraph --></p>
<p>Output:</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:code --></p>
<pre><code>{ acknowledged: true,
  insertedId: ObjectId("63686963a37df5cdbf7fec9d") }</code></pre>
<p><!-- /wp:code --></p>
<p><!-- wp:quote --></p>
<blockquote>
<p><!-- wp:paragraph --></p>
<p><strong>在目標資料庫的表格 <code>sinkdb.sinkcoll</code> 會看到新增了一筆連 <code>ObjectId</code> 都與來源端一模一樣的資料</strong></p>
</blockquote>
<ul>
<li style="list-style-type: none;">
<ul>
<li>自來源端表格更新一筆資料</li>
</ul>
</li>
</ul>
<p><!-- /wp:list-item --></p>
<p><!-- /wp:list --></p>
<p><!-- wp:code --></p>
<pre><code>db.mycoll.updateOne({name: "TestField"}, {$set:{newField: true}});</code></pre>
<p><!-- /wp:code --></p>
<p><!-- wp:paragraph --></p>
<p>Output:</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:code --></p>
<pre><code>{ acknowledged: true,
  insertedId: null,
  matchedCount: 1,
  modifiedCount: 1,
  upsertedCount: 0 }</code></pre>
<p><!-- /wp:code --></p>
<p><!-- wp:quote --></p>
<blockquote>
<p><!-- wp:paragraph --></p>
<p><strong>在目標資料庫的表格會看到這筆資料多了一個欄位 <code>newField</code></strong></p>
</blockquote>
<ul>
<li style="list-style-type: none;">
<ul>
<li>自來源端表格刪除一筆資料</li>
</ul>
</li>
</ul>
<p><!-- /wp:list-item --></p>
<p><!-- /wp:list --></p>
<p><!-- wp:code --></p>
<pre><code>db.mycoll.deleteOne({name: "TestField", newField: true})</code></pre>
<p><!-- /wp:code --></p>
<p><!-- wp:paragraph --></p>
<p>Output:</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:code --></p>
<pre><code>{ acknowledged: true, deletedCount: 1 }</code></pre>
<p><!-- /wp:code --></p>
<p><!-- wp:quote --></p>
<blockquote>
<p><!-- wp:paragraph --></p>
<p><strong>在目標資料庫的表格會看到這筆資料也跟著被刪除</strong></p>
<p><!-- /wp:paragraph --></p>
</blockquote>
<p><!-- /wp:quote --></p>
<p><!-- wp:paragraph --></p>
<p>收尾</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>如果要結束測試，一樣可以透過 curl 呼叫 API 來停止 connector 工作。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:code --></p>
<pre><code>curl -X DELETE &lt;http://localhost:8083/connectors/mongo-src-connector&gt;
curl -X DELETE &lt;http://localhost:8083/connectors/mongo-sink-connector&gt;</code></pre>
<p><!-- /wp:code --></p>
<p><!-- wp:heading {"fontSize":"medium"} --></p>
<h2>結語</h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>本文中我們示範了如何自行架設 Kafka 環境，以及簡單驗證資料庫間利用 CDC 機制同步資料的功能。透過開源的 CDC 同步方案，我們可以更有效地進行巨量資料庫間資料的複製與轉移，並確保資料的一致性。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading {"fontSize":"medium"} --></p>
<p>參考資料：<a href="https://www.mongodb.com/docs/kafka-connector/current/" target="_blank" rel="noopener">MongoDB Kafka Connector 官方文件</a></p>
<p><!-- /wp:heading --></p>
<p><!-- wp:list {"ordered":true} --></p>
<ol>
<li style="list-style-type: none;">
<ol><!-- wp:list-item --></ol>
</li>
</ol>
<p>有興趣歡迎 <a href="https://www.omniwaresoft.com.tw/contact/" target="_blank" rel="noopener">聯繫我們</a>，或加入 <a href="https://lin.ee/VCvhQSK" target="_blank" rel="noopener">歐立威 LINE 好友</a>，了解更多產品資訊！</p>
<p><!-- /wp:list-item --></p>
<p><!-- /wp:list --></p>
<p><!-- wp:separator {"opacity":"css","className":"is-style-wide"} --></p>
<hr />
<p><!-- /wp:separator --></p>
<p><!-- wp:block {"ref":34920} /--></p>]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">18311</post-id>	</item>
		<item>
		<title>義大利銀行 illimity 利用 ＭongoDB 的實時分析和高可用性提升客戶服務</title>
		<link>https://www.omniwaresoft.com.tw/usecase/mongodb-usecase/mongodb-illimity/</link>
		
		<dc:creator><![CDATA[Omni]]></dc:creator>
		<pubDate>Wed, 02 Mar 2022 03:33:39 +0000</pubDate>
				<category><![CDATA[MongoDB 成功案例]]></category>
		<category><![CDATA[MongoDB]]></category>
		<guid isPermaLink="false">http://www.omniwaresoft.com.tw/?p=17122</guid>

					<description><![CDATA[MongoDB 高克用性和可擴展的應用程式基礎架構建立全面的單一視圖，以改善客戶體驗、維護機密，並縮短互聯網和行動銀行應用程式的交付時間。此外透過表現力的查詢語言、索引和聚合功能可以查找和過濾資料，並運用中央儲存庫和實時分析，illimity 可以快速提取結果，提升客戶服務。]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="17122" class="elementor elementor-17122" data-elementor-post-type="post">
						<section data-particle_enable="false" data-particle-mobile-disabled="false" class="elementor-section elementor-top-section elementor-element elementor-element-29c02564 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="29c02564" data-element_type="section">
						<div class="elementor-container elementor-column-gap-thegem"><div class="elementor-row">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-733b0e30" data-id="733b0e30" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-63f88c57 flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-text-editor" data-id="63f88c57" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
												<div class="elementor-text-editor elementor-clearfix">
						<p></p>
<h2 class="wp-block-heading"><strong><span style="font-weight: 400;"><img data-recalc-dims="1" class="wp-image-17123 aligncenter" src="https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/03/pasted-image-0.png?resize=547%2C326&#038;ssl=1" alt="illimity" width="547" height="326" srcset="https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/03/pasted-image-0.png?w=924&amp;ssl=1 924w, https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/03/pasted-image-0.png?resize=300%2C179&amp;ssl=1 300w, https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/03/pasted-image-0.png?resize=768%2C458&amp;ssl=1 768w" sizes="(max-width: 547px) 100vw, 547px" /></span></strong></h2>
<p></p>
<p></p>
<h2 class="wp-block-heading" style="font-size:30px"><strong>公司介紹</strong></h2>
<p></p>
<p></p>
<p><span style="font-weight: 400;">意大利 illimity 銀行由 Intesa Sanpaolo 前執行長 Corrado Passera 於 2018 年創立，它是全國第一家原生雲數位銀行。意味著它可以快速提供最新的電信服務，將客戶體驗與現代功能結合。</span><br><span style="font-weight: 400;">illimity 已有超過 37,000 名客戶開設賬戶並使用其個人化的產品系列，並且是唯一使用開源式銀行方案的平台。意味著 illimity 可以整合不同的服務，與客戶共享洞見。</span></p>
<p></p>
<p></p>
<p><span style="font-weight: 400;">為了建立能夠實踐增長且可擴展的應用程式基礎架構，該團隊需要一個現代且可擴展的資料庫，一目瞭然所有的客戶資訊。illimity 從頭開始建立整個組織和技術架構，並在全球雲端資料庫服務、<a href="https://www.mongodb.com/cloud/atlas">MongoDB Atlas</a> 、Microsoft Azure 上實踐。團隊第一次可以專注於建立應用程式而不是操作資料庫，就此展開銀行業的革命。&nbsp;</span></p>
<p></p>
<p></p>
<h2 class="wp-block-heading"><b>共同創新</b></h2>
<p></p>
<p></p>
<p><span style="font-weight: 400;">illimity 數據與分析團隊負責人 Renzo Rognoni 與首席資訊長 Filipe Teixeira 指出，我們非常了解 MongoDB Atlas 及其競爭對手。經過三個月的謹慎評估，我們選擇了 MongoDB，因為它具有革命性技術與高性度。並且適用於我們相對較小的 IT 部門，我們的主要目標是找到一個能夠提供創新資料管理解決方案，並預測客戶需求的合作夥伴。而MongoDB 在該領域中脫穎而出，在研究、開發和成熟度方面都十分優秀。</span></p>
<p></p>
<p></p>
<h2 class="wp-block-heading"><strong>人才＋創新技術＝高可用性、靈活性、</strong><strong>可擴展性</strong></h2>
<p></p>
<p></p>
<p><span style="font-weight: 400;">員工花在資料庫管理上的時間縮短，資訊獲取既簡單又直接。Microsoft Azure 上的雲託管讓我們可以輕鬆看待資料的增長，並且符合嚴格的資料安全和隱私標準。目前，MongoDB Atlas 被用於建立全面的單一視圖，以改善客戶體驗、維護機密並遵守 GDPR。</span></p>
<p></p>
<p></p>
<p><span style="font-weight: 400;">主要創新包括：</span></p>
<p></p>
<p></p>
<ol class="wp-block-list"><p></p>
<li><span style="font-weight: 400;">網路與行動銀行</span><span style="font-weight: 400;"><br></span><span style="font-weight: 400;">MongoDB Atlas 縮短了互聯網和行動銀行應用程式的交付時間。</span><span style="font-weight: 400;"><br></span><span style="font-weight: 400;">Rognoni 指出，從 2018 年 10 月開始，從無到有，我們在一年內上線了互聯網和銀行應用程式。在銀行業，這些項目通常需要數年時間。ACID 交易使設計和建立需要最高等級資料完整性和正確性的應用程式變得更加容易。如今，終端使用者可以隨時隨地一致性的獲得最新資料。</span></li>
<p></p>
<p></p>
<li><span style="font-weight: 400;">安全與合規<br></span>MongoDB Atlas 中的持續備份、跨多個區域的高可用性以及詳細的稽核日誌讓銀行可以實時追蹤操作。它確保在世界任何時間與地點都提供優質和安全的服務。MongoDB Atlas 中的新單一視圖有助於協助客戶識別機會並降低風險。</li>
<p></p>
<p></p>
<li>不良貸款<br>MongoDB Atlas 也用於 NPL（或不良貸款），這是指藉款人違約且未按期付款的貸款。由幾家銀行出售，並從許多不同舊有系統中提取。在 Atlas 中，MongoDB 具有表現力的查詢語言、索引和聚合功能可以查找和過濾資料，讓 illimity 都可以訪問其資料。它減少了團隊尋找洞見的時間，不再需要專門的軟體和硬體，使 NPL 項目的成本降低。</li>
<p></p>
<p></p>
<li><span style="font-weight: 400;">獲取信貸</span><span style="font-weight: 400;"><br></span><span style="font-weight: 400;">MongoDB Atlas 在獲取信貸的方面發揮了重要功用。這是銀行收取除了利息以外費用的地方，通常用於再融資或更改貸款。這些階段通常需要數月的計算，現在，透過 MongoDB Atlas 中的中央儲存庫和實時分析，illimity 可以在短短幾天內更好地瀏覽資料並提取結果。</span></li>
<p></p></ol>
<p></p>
<p></p>
<p><span style="font-weight: 400;">在這個以數據為中心的未來，數位革命仍在繼續。</span><br><span style="font-weight: 400;">Rognoni 指出，如果我們想繼續扮演</span><span style="font-weight: 400;">顛覆傳統遊戲規則的人</span><span style="font-weight: 400;">，我們必須日復一日地跟隨數位技術的發展。MongoDB 的規劃既有趣又令人振奮，它將使該技術在市場中保持頂尖的地位。我們還利用了 MongoDB 的諮詢服務，以集思廣益、創新和增強人力資本作為我們項目的核心目標。</span></p>
<p></p>
<p></p>
<p><span style="font-weight: 400;">如今，MongoDB Atlas 的單一視圖平台繼續將 illimity 的不同資料源整合到一處。員工或監管機構無論身在何處，都可以輕鬆訪問、管理和稽核這些資料。它節省了時間、金錢和監管難題。現在，團隊可以立即與客戶互動並提供他們可靠的服務。</span></p>
<p></p>							</div>
										</div>
				</div>
					</div>
		</div>
					</div></div>
		</section>
				</div>
		]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">17122</post-id>	</item>
		<item>
		<title>MongoDBㄧMacquarie 麥格理銀行在數週內打造實時支付平台</title>
		<link>https://www.omniwaresoft.com.tw/usecase/mongodb-usecase/macquarie-mongodb/</link>
		
		<dc:creator><![CDATA[Omni]]></dc:creator>
		<pubDate>Mon, 07 Feb 2022 01:44:22 +0000</pubDate>
				<category><![CDATA[MongoDB 成功案例]]></category>
		<category><![CDATA[成功案例]]></category>
		<category><![CDATA[MongoDB]]></category>
		<category><![CDATA[MongoDB Atlas]]></category>
		<guid isPermaLink="false">http://www.omniwaresoft.com.tw/?p=16951</guid>

					<description><![CDATA[Macquarie 團隊還希望以 24 小時不間斷的 DevOps 方式運作；在合理的情況下實現自動化，並在需要時能隨時在開發人員的內部機台上運行平台。因此採用 MongoDB。MongoDB Atlas 的資料文檔模型和完全託管的服務正好補足了 Macquarie 的敏捷式開發。]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="16951" class="elementor elementor-16951" data-elementor-post-type="post">
						<section data-particle_enable="false" data-particle-mobile-disabled="false" class="elementor-section elementor-top-section elementor-element elementor-element-1eda79c4 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="1eda79c4" data-element_type="section">
						<div class="elementor-container elementor-column-gap-thegem"><div class="elementor-row">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-772e6475" data-id="772e6475" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-4b673468 flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-text-editor" data-id="4b673468" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
												<div class="elementor-text-editor elementor-clearfix">
						<p></p>
<h2 class="wp-block-heading"><b>為銀行帶來客製化及直觀的客戶體驗</b></h2>
<p></p>
<p></p>
<p><span style="font-weight: 400;">Macquarie</span> <span style="font-weight: 400;">與其他零售銀行的理念不同。</span><br><span style="font-weight: 400;">Macquarie 是第一家啟用開放式銀行 (open banking) 的澳大利亞銀行，他們在數位平台的投入使他們得以透過實時放貸平台，提供優於市場周轉時間的房貸。Macquarie 近年來進行了數位轉型，其目標是將金融服務轉向 Netflix 等領先公司所用的技術，並將個人化的客戶體驗帶入銀行業。</span><span style="font-weight: 400;">因此，當 Macquarie 引入澳洲的新支付平台：NPP（一個新的國內實時支付系統）時，Macquarie 的工程團隊非常專注於優化客戶體驗。&nbsp;</span></p>
<p></p>
<p></p>
<h2 class="wp-block-heading"><b>挑戰</b></h2>
<p></p>
<p></p>
<h3 class="wp-block-heading"><b>新興支付平台</b></h3>
<p></p>
<p></p>
<p><span style="font-weight: 400;">從一開始，Macquarie 就致力於打造優良的客戶支付體驗。「推動該目標的原因是客戶希望一年 365 天、每天 24 小時都擁有權限，」首席工程師兼 NPP 項目負責人 Chris Clark 說。 「人們想要實時轉移資金。長時間在離線狀態執行升級和維護不是個好方法，因為我們希望為客戶提供最真實的體驗。」</span></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p><span style="font-weight: 400;">為了適當提供客戶服務，NPP 必須遵循 Macquarie 現有的開發和架構的最佳實踐。這意味著需採用敏捷的方法在微服務架構上發布多個 MVP 產品。正如 Chris 所說，「現在積極行動，好過之後慌忙跟上。」</span></p>
<p></p>
<p></p>
<p><span style="font-weight: 400;">此外，NPP 必須：</span></p>
<p></p>
<p></p>
<ul class="wp-block-list"><p></p>
<li><span style="font-weight: 400;">雲端優先 (Cloud-first)：所有東西都要上雲，包括基礎架構</span></li>
<p></p>
<p></p>
<li><span style="font-weight: 400;">獨立於雲端架構 (cloud-agnostic) 與多雲 (multi-cloud)：不會受限於單一供應商和獲得</span><a href="https://www.mongodb.com/cloud/atlas/multicloud-data-distribution"><span style="font-weight: 400;">三大公有雲權限（AWS、Google Cloud 和 Microsoft Azure）上可用的工具和服務</span></a></li>
<p></p></ul>
<p></p>
<p></p>
<ul class="wp-block-list"><p></p>
<li><span style="font-weight: 400;">實時 (real-time)：分批處理在 “always on” 的客戶環境中沒有立足之地</span></li>
<p></p>
<p></p>
<li><span style="font-weight: 400;">安全 (secure)：該平台處理銀行各種資料，因此強大的安全性不可忽視</span></li>
<p></p>
<p></p>
<li><span style="font-weight: 400;">靈活 (flexible)：在實施解決方案時，它必須能夠因應情況做改變</span></li>
<p></p>
<p></p>
<li><span style="font-weight: 400;">零停機時間 (zero downtime)：</span></li>
<p></p></ul>
<p></p>
<p></p>
<ol class="wp-block-list"><p></p>
<li><span style="font-weight: 400;">實時監控並提醒團隊（和客戶）潛在問題。例如，若收款銀行拒絕客戶交易，該客戶應會即時收到通知，並立即退款。</span></li>
<p></p></ol>
<p></p>
<p></p>
<p><span style="font-weight: 400;">在不中斷平台的情況下進行升級。</span><br><span style="font-weight: 400;">Macquarie 團隊還希望以 24 小時不間斷的 DevOps 方式運作；在合理的情況下實現自動化，並在需要時能隨時在開發人員的內部機台上運行平台。</span></p>
<p></p>
<p></p>
<h3 class="wp-block-heading">&nbsp;</h3>
<p></p>
<p></p>
<h2 class="wp-block-heading"><b>解決方案 — </b><a href="https://www.mongodb.com/atlas"><b>MongoDB Altas</b></a></h2>
<p></p>
<p></p>
<h3 class="wp-block-heading"><b></b><b>享有資料自由和彈性&nbsp;</b></h3>
<p></p>
<p></p>
<p><span style="font-weight: 400;">隨著 Macquarie 團隊從 NPP 的開發、測試到啟動，</span><a href="https://www.mongodb.com/atlas"><span style="font-weight: 400;">MongoDB Atlas </span></a><span style="font-weight: 400;">的資料文檔模型和完全託管的服務正好補足了 Macquarie 的敏捷式開發 (agile development)。</span></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p><a href="https://www.mongodb.com/document-databases"><span style="font-weight: 400;">文檔資料庫</span></a><span style="font-weight: 400;">的靈活性使 Macquarie 團隊能夠在測試和學習過程中迭代他們對 NPP 平台的最初構想。當他們添加新功能時，該模式能立即因應變化，符合 Macquarie 不斷進步的精神。 「我們沒有時間去尋找適合的架構，」Chris 說。</span></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p><b><i>「沒有架構是完美的 —— 隨著功能越來越多，它必須不斷進步。這就是靈活的文檔資料模型很重要的地方，」Chris 補充説道。</i></b></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p><span style="font-weight: 400;">更重要的是，文檔模型的靈活性不會因資料品質或完整度增加而降低，也有與銀行舊有資料庫相同的資料交易原則。</span><br><span style="font-weight: 400;">Macquarie 支付團隊的工程師 Shuchita Deshpande 說：「與更傳統的資料庫相比，易用性是我們考量的一個重要因素。」</span><br><span style="font-weight: 400;">為了確保團隊專注於數位體驗的優化，Macquarie 盡可能優先將基礎架構作為雲端託管服務運行。因此，他們透過 MongoDB 的全球雲端資料庫服務 Atlas 運行 MongoDB。</span></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p><b><i>「很感謝 Mongo 讓我們更輕鬆地使用資料，」Chris 說。「我們不再需要建立新資料庫，我們可以自己做。磁碟空間、RAM、CPU……我們的團隊可以管理所有這些功能。」</i></b></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p><span style="font-weight: 400;">鑑於新支付平台全天候的實時性，擴展性也因此十分重要。在 NPP 之外，Macquarie 已經在 Kubernetes 上執行了其他應用程式，並且它們習慣了在銀行基礎架構其他地方的擴展性。「但我們也希望我們的資料庫具有同樣的靈活性，」Chris 補充説道。「Atlas 幫我們完成了這一點，並讓我們能夠在新平台上線之前輕鬆、廣泛地加載和測試。」</span><br><span style="font-weight: 400;">在多個雲端供應商間自由部署是一項很關鍵的要求，必須不惜一切代價避免受限於單一供應商。「我們不想走任何單向道路，」Chris 說。「有了這個解決方案，我們可以在我們想要的任何雲端供應商上運行。」</span></p>
<p></p>
<p></p>
<p></p>
<p></p>
<h2 class="wp-block-heading"><b>成果</b></h2>
<p></p>
<p></p>
<h3 class="wp-block-heading"><b>順利進行 300 萬筆交易&nbsp;</b></h3>
<p></p>
<p></p>
<p><span style="font-weight: 400;">Macquarie NPP 的推出非常成功「我們在 COVID-19 大流行的 2 個月後上線。輕輕一按，交易就開始流動了。我們現在已經有超過 300 萬筆交易，都很順利沒有任何問題。」</span><br><span style="font-weight: 400;">NPP 只是一個例子，說明 Macquarie 對敏捷方式與現代架構的採用，當然還有其提供良好客戶體驗的優秀開發團隊，其他公司也在努力效仿。使用 MongoDB Atlas 等服務，Macquarie 團隊可以集中精力為其零售銀行客戶打造合適的解決方案。</span></p>
<p></p>							</div>
										</div>
				</div>
					</div>
		</div>
					</div></div>
		</section>
				</div>
		]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">16951</post-id>	</item>
		<item>
		<title>2022.02.23 《歐立威科技 2022 研討會》MongoDB Reshard &#8211; 更換 Shard Key，彈性再升級！</title>
		<link>https://www.omniwaresoft.com.tw/all-events/mongodb-event/mongodb-webinar-220223/</link>
		
		<dc:creator><![CDATA[Omni]]></dc:creator>
		<pubDate>Fri, 28 Jan 2022 09:15:26 +0000</pubDate>
				<category><![CDATA[MongoDB 活動]]></category>
		<category><![CDATA[MongoDB]]></category>
		<category><![CDATA[Webinar]]></category>
		<guid isPermaLink="false">http://www.omniwaresoft.com.tw/?p=16965</guid>

					<description><![CDATA[本場研討會將探討過去令許多人頭痛的 Shard Key 不可改的問題，如何透過 Reshard 新功能迎刃而解？實際使用又會遇到什麼困難和眉角？和我們一探究竟吧！]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="16965" class="elementor elementor-16965" data-elementor-post-type="post">
						<section data-particle_enable="false" data-particle-mobile-disabled="false" class="elementor-section elementor-top-section elementor-element elementor-element-5325d2b1 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="5325d2b1" data-element_type="section">
						<div class="elementor-container elementor-column-gap-thegem"><div class="elementor-row">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-63c5ba4c" data-id="63c5ba4c" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-2425dec1 flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-text-editor" data-id="2425dec1" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
												<div class="elementor-text-editor elementor-clearfix">
						<p></p>
<p></p>
<p></p>
<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-2 wp-block-columns-is-layout-flex"><p></p>
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:100%"><p></p>
<figure class="wp-block-gallery aligncenter has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex"><p></p>
<figure class="wp-block-image size-full"><img data-recalc-dims="1" src="https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/01/2022-%E7%A0%94%E8%A8%8E%E6%9C%83%E5%B0%81%E9%9D%A2-1.png?w=1170&#038;ssl=1" alt="MongoDB Webinar Image" class="wp-image-16959"></figure>
<p></p></figure>
<p></p>
<p></p>
<p></p></div>
<p></p></div>
<p></p>
<p></p>
<p>《免費報名》填寫回饋問卷再拿咖啡兌換券！</p>
<p></p>
<p></p>
<h2 class="wp-block-heading" style="font-size:30px"><strong>活動介紹:</strong></h2>
<p></p>
<p></p>
<p>MongoDB Reshard 功能，解決 Shard Key 更換難題！</p>
<p></p>
<p></p>
<p>MongoDB Sharding 架構中，一旦 Collection 指定了 Shard Key，便無法再進行更改，因此造成了一些實務上的困境。</p>
<p></p>
<p></p>
<p>例如資料導入初期使用了不合適的 Shard Key，導致後來分佈在不同 Shards 上的資料嚴重傾斜。由於無法直接修改 Shard Key，很可能要重建一個新的 Shard Collection，再將資料重新導入，使得改善資料傾斜的問題變得曠日廢時。</p>
<p></p>
<p></p>
<p>MongoDB 5.0 版本，增加了新功能 Reshard，在過去相當於寫死的 Shard Key，如今終於有了重新反悔的機會。</p>
<p></p>
<p></p>
<p>本場研討會將探討過去令許多人頭痛的 Shard Key 不可改的問題，如何透過 Reshard 新功能迎刃而解？實際使用又會遇到什麼困難和眉角？和我們一探究竟吧！&nbsp;</p>
<p></p>
<p></p>
<h2 class="wp-block-heading" style="font-size:30px"><strong>活動議程:</strong></h2>
<p></p>
<p></p>
<figure class="wp-block-table">
<table>
<tbody>
<tr>
<td>
<p>時間</p>
</td>
<td>
<p>議程</p>
</td>
<td>
<p>講師</p>
</td>
</tr>
<tr>
<td>
<p>10:55~11:00</p>
</td>
<td>
<p>來賓報到</p>
</td>
<td>
<p>&#8211;</p>
</td>
</tr>
<tr>
<td>
<p>11:00~11:05</p>
</td>
<td>
<p>Opening</p>
</td>
<td>
<p>歐立威科技</p>
<p>技術顧問 Meso</p>
</td>
</tr>
<tr>
<td>
<p>11:05~11:55</p>
</td>
<td>MongoDB Reshard &#8211; 更換 Shard Key，彈性再升級！</td>
<td>
<p>歐立威科技</p>
<p>技術顧問&nbsp;Meso</p>
</td>
</tr>
<tr>
<td>11:55~12:00</td>
<td>QA</td>
<td>
<p>歐立威科技</p>
<p>技術顧問&nbsp;Meso</p>
</td>
</tr>
</tbody>
</table>
</figure>
<p></p>
<p></p>
<p></p>
<p></p>
<p>本活動完全免費並在線上進行，歡迎對 MongoDB&nbsp;有興趣的朋友參與，報名成功後會議連結會寄至報名信箱，請留意！</p>
<p></p>
<p></p>
<p>?&nbsp;請以公司信箱報名以加速審核</p>
<p></p>
<p></p>
<div class="wp-block-button aligncenter is-style-fill"><a class="wp-block-button__link has-vivid-green-cyan-background-color has-background wp-element-button" href="https://lihi1.com/wCCAy/omnipost" target="_blank" rel="noreferrer noopener">立刻報名 <strong>&gt;&gt;</strong></a></div>
<p></p>
<p></p>
<p></p>							</div>
										</div>
				</div>
					</div>
		</div>
					</div></div>
		</section>
				</div>
		]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">16965</post-id>	</item>
		<item>
		<title>MongoDB 是什麼？ＭongoDB 優勢、適用場景和基本概念介紹</title>
		<link>https://www.omniwaresoft.com.tw/product-news/mongodb-news/introduction-to-mongodb/</link>
		
		<dc:creator><![CDATA[Omni]]></dc:creator>
		<pubDate>Wed, 26 Jan 2022 08:55:40 +0000</pubDate>
				<category><![CDATA[MongoDB 產品資訊]]></category>
		<category><![CDATA[Document Database]]></category>
		<category><![CDATA[MongoDB]]></category>
		<guid isPermaLink="false">http://www.omniwaresoft.com.tw/?p=16944</guid>

					<description><![CDATA[MongoDB，一個基於分散式架構的文件資料庫（document database），主要功能與特性，包含：擁有高性能、豐富的查詢語言、高可用性、支援多個儲存引擎來處理大規模資料。下文介紹了 MongoDB 中的關鍵概念和查詢語言，並提供操作和管理的注意事項和程序，以及綜合參考。]]></description>
										<content:encoded><![CDATA[<p>Toyota、Bosch、EA Games 等國際知名企業都是 MongoDB 的使用者， MongoDB 為什麼深受企業的愛戴？有什麼使用上的優點？</p>
<p>在上篇 <a href="https://www.omniwaresoft.com.tw/mongodb/" target="_blank" rel="noopener">MongoDB-最受歡迎的 NOSQL 資料庫 </a>的介紹中，我們詳細講解了 MongoDB 的產品性能以及優點。那麽，這篇文章則會介紹 MongoDB 的基本觀念、合適使用情境以及相較於 MySQL ，MongoDB 的優勢。 </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading --></p>
<h2><strong>MongoDB 是什麼 ?</strong></h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p><a href="https://www.omniwaresoft.com.tw/mongodb/" target="_blank" rel="noopener">MongoDB</a> 是一種開源的 NoSQL 文件資料庫，由於使用 JSON 文檔資料儲存結構，MongoDB 具有 <span style="background: linear-gradient(to top, rgba(255, 204, 0, 0.5) 50%, transparent 50%);">靈活</span>、 <span style="background: linear-gradient(to top, rgba(255, 204, 0, 0.5) 50%, transparent 50%);">易於擴展</span>、 <span style="background: linear-gradient(to top, rgba(255, 204, 0, 0.5) 50%, transparent 50%);">高效能</span> 這三種優勢。</p>
<p>與傳統關聯式資料庫相比，用戶在使用 MongoDB 儲存資料時，無需事先定義資料架構，還能夠自由地增加資料的 Key/Value 。</p>
<p>因此企業在處理巨量資料時，能夠花更少的時間，而且透過 MongoDB 允許資料格式不一致的特性，開發者也能夠輕鬆地處理資料架構不穩定的問題。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>試想，如果一間企業每天有大量的資料需處理，而這些資料涵蓋的範圍從客戶資訊到公司的銷售資料應有盡有。每一種資料也有不同的特徵，如果使用傳統的 RDBMS （關聯式資料庫），那用戶就必須先定義資料的格式與架構，才能將資料儲存。然而，因為資料的種類繁多，如果每一筆資料都需要先定義才能存入，效率會太過緩慢。</p>
<p>只要透過 MongoDB 的半結構和非結構化的資料儲存特性，開發團隊能夠省下時間和減少工作量。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:image {"align":"center","id":34608,"width":"512px","height":"131px","sizeSlug":"large","linkDestination":"none"} --></p>
<figure><img data-recalc-dims="1" height="262" width="1024" style="width: 512px; height: 131px;" src="https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2023/02/MongoDB-logo_darkreen.png?resize=1024%2C262&#038;ssl=1" alt="MongoDB logo_darkreen" /></figure>
<p><!-- /wp:image --></p>
<p><!-- wp:heading --></p>
<h2><strong>MongoDB 的關鍵元素</strong></h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading {"level":3} --></p>
<h3><strong>文件（Documents）</strong></h3>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>在 MongoDB 中，<span style="background: linear-gradient(to top, rgba(255, 204, 0, 0.5) 50%, transparent 50%);">Document 是資料儲存的基本單位</span>。</p>
<p>每個 Document 都是一個 JSON 格式的資料結構，由一個或多個 key-value 對組成。由於 Document 具有動態特性，同一個集合（Collection）中的不同 Document 可以擁有完全不同的欄位與結構。</p>
<p>當使用者將 JSON 文件儲存至 MongoDB 時，系統會自動將其轉換為 BSON（Binary JSON）格式。BSON 是 JSON 的二進位表示，支援更多資料類型，並具備更快的序列化與傳輸效率。</p>
<p>在查詢過程中，MongoDB 會讀取相應的 BSON，並將其轉換回 JSON，讓使用者能方便地檢視與操作。</p>
<p>以下是 MongoDB 官方對 BSON 的說明：<br />「BSON，即 Binary JSON。它的二進位結構能夠編碼資料類型與長度。相較於 JSON，BSON 的傳輸速度更快。」</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p><em>Document 的靈活性和動態結構，以及 BSON 的高效傳輸特性，使 MongoDB 能夠有效地處理各種資料結構，並滿足現代應用程式的需求。</em></p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p><em>一個簡單的 Document 可能如下所示：</em></p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:image {"align":"center","id":36686,"width":"196px","height":"228px","sizeSlug":"full","linkDestination":"none"} --></p>
<figure><img data-recalc-dims="1" style="width: 196px; height: 228px;" src="https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2023/08/%E6%88%AA%E5%9C%96-2023-08-07-%E4%B8%8A%E5%8D%8810.56.40.png?w=1170&#038;ssl=1" alt="" /></figure>
<figure>這個 Document 包括了三個欄位，其中地址是巢狀的 Document</figure>
<p><!-- /wp:image --></p>
<p><!-- wp:heading {"level":3} --></p>
<h3><strong>集合（Collection）</strong></h3>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>在 MongoDB 中，<span style="background: linear-gradient(to top, rgba(255, 204, 0, 0.5) 50%, transparent 50%);">Collection 是由多個 Document 組成的容器</span>。</p>
<p>它類似於關聯式資料庫中的表格，但與表格不同的是，Collection 不需要固定結構。這意味著同一個 Collection 內的 Document 可以擁有不同的欄位與格式。</p>
<p>Collections 常用來組織與儲存相關的 Document。舉例來說，一個 Collection 可以包含某公司所有員工的 Document，每個 Document 分別記錄一位員工的詳細資訊。</p>
<p>在操作上，Collections 提供查詢、插入、更新與刪除等功能，並可透過建立索引來提升查詢效能。這種設計使 Collection 具備高度靈活性，能夠因應各種資料需求與應用場景。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:image {"align":"center","id":36687,"width":"468px","height":"255px","sizeSlug":"large","linkDestination":"none"} --></p>
<figure><img data-recalc-dims="1" height="558" width="1024" style="width: 468px; height: 255px;" src="https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2023/08/%E6%88%AA%E5%9C%96-2023-08-07-%E4%B8%8A%E5%8D%8810.59.29.png?resize=1024%2C558&#038;ssl=1" alt="" />
<p>&nbsp;</p>
<figcaption><a href="https://studio3t.com/academy/lessons/mongodb-basics/" target="_blank" rel="noopener">上圖 </a>是資料庫、集合和文件之間的關係。MongoDB 內可以有多個資料庫（Database），資料庫中包含多個集合Collection），集合中則包含多個文件（Document）
<p>&nbsp;</p>
</figcaption>
</figure>
<p><!-- /wp:image --></p>
<p><!-- wp:heading {"level":3} --></p>
<h3><strong>_id</strong></h3>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>在 MongoDB 中，<span style="background: linear-gradient(to top, rgba(255, 204, 0, 0.5) 50%, transparent 50%);">_id 欄位是每個文件的主鍵（Primary Key），代表該文件的唯一識別值</span>。</p>
<p>每個文件都會擁有獨特的 _id，用來確保集合內資料的一致性與正確性。若使用者在建立文件時未指定 _id，MongoDB 會自動為其產生一個長度為 12 位元組的 _id。</p>
<p>這種自動生成機制能保證資料的唯一性，使得集合內的檢索更加高效且可靠。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:image {"align":"center","id":36692,"width":"707px","height":"183px","sizeSlug":"large","linkDestination":"none"} --></p>
<figure><img data-recalc-dims="1" height="265" width="1024" style="width: 707px; height: 183px;" src="https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2023/08/%E6%88%AA%E5%9C%96-2023-08-07-%E4%B8%8A%E5%8D%8811.19.02.png?resize=1024%2C265&#038;ssl=1" alt="" /></figure>
<p><!-- /wp:image --></p>
<p><!-- wp:heading {"level":3} --></p>
<h3><strong>索引（Indexes）</strong></h3>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p><span style="background: linear-gradient(to top, rgba(255, 204, 0, 0.5) 50%, transparent 50%);">使用者可以在集合中的任意欄位上建立次級索引（Secondary Index），以加速 BSON 文件的搜尋</span>。</p>
<p>與預設的 _id 索引 不同，次級索引允許在多個欄位上進行快速檢索。若缺少索引，查詢時就必須對整個集合進行掃描（Collection Scan），逐一比對欄位，成本相當高。</p>
<p>次級索引在處理龐大資料集時特別重要，能有效降低查詢延遲並提升效能。<br />例如，在儲存客戶資訊的集合中，若經常需要依電子郵件地址進行查詢，就可以在「電子郵件」欄位上建立次級索引，從而直接透過該欄位快速檢索目標文件。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading --></p>
<h2><strong>MongoDB</strong><b> 的 4 大優勢</b></h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:heading {"level":3} --></p>
<h3><strong>（一）高效能（High Performance）</strong></h3>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>異於傳統關聯式資料庫，利用 Join 的運算功能進行資料的查詢。</p>
<p>MongoDB 採用基於文檔（ Document Base ）的模型，將資料 <a href="https://docs.mongodb.com/manual/tutorial/model-embedded-one-to-many-relationships-between-documents/" target="_blank" rel="noopener">嵌入 </a>至單一文檔中。得益於這種特性， <span style="background: linear-gradient(to top, rgba(255, 204, 0, 0.5) 50%, transparent 50%);">MongoDB 的查詢速度能與傳統關聯式資料庫相互媲美活</span>。</p>
<p>另外，MongoDB 能夠串聯眾多資料庫，快速的將 TB 級資料儲存，再將資料交付給擅於分析大數據的 Cloudera 進行處理。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading {"level":3} --></p>
<h3><strong>（二）JSON 文檔資料庫（Document Database)</strong></h3>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>MongoDB 採用文件資料庫，將每筆資料以 Document 和 Field 的方式組織資料，這個特色的強大之處在於，它能夠匯總非結構化資料，快速製作成容易閲讀的資料目錄。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:image {"align":"center","id":18043,"width":"390px","height":"195px","sizeSlug":"full","linkDestination":"none"} --></p>
<figure><img data-recalc-dims="1" style="width: 390px; height: 195px;" src="https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/08/MongoDB-Document-Database.png?w=1170&#038;ssl=1" alt="MongoDB-Document-Database" /></figure>
<p><!-- /wp:image --></p>
<p><!-- wp:heading {"level":3} --></p>
<h3><strong>（三）廣泛支援的程式語言</strong></h3>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>以下是 MongoDB  支援的各種主流程式語言：</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>C、C++、C#，Erlang、Haskell、Java、JavaScript、Lisp、fibjs、node.JS、Perl、PHP、Python、Ruby、Scala、Go、Rust。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading {"level":3} --></p>
<h3>（四）<b>合乎成本效益</b></h3>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>MongoDB 提供多種靈活的計價方案。如果使用 MongoDB 的雲端版本 MongoDB Atlas ，您也能夠選擇最符合需求的付費方案！</p>
<p>另外，MongoDB Atlas 具有自動規模化（Auto Scaling）功能，能夠隨時調整資料集群的大小，不只能有效將成本降至最低，還能隨時保持應對突發狀況的靈活性！</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading --></p>
<h2><strong>4 個 MongoDB 的應用場景</strong></h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p data-sourcepos="3:1-3:85">MongoDB 是一種 NoSQL 資料庫，以其靈活性和可擴展性而聞名。以下列出 MongoDB 的 4 個應用場景，希望能幫助您了解 MongoDB 的優勢和適用範圍：</p>
<h3 data-sourcepos="5:1-5:29"><strong>(一) 需要處理大量資料和高併發請求的雲端資料庫</strong></h3>
<p data-sourcepos="7:1-7:87">MongoDB 的水平擴展能力可以輕鬆應對資料量和流量的增長，確保應用程式的效能和可用性。</p>
<p data-sourcepos="7:1-7:87">這對於需要大量運算功能，並將資料快速發送到多個伺服器的雲端資料庫來說至關重要，例如：</p>
<ul data-sourcepos="9:1-14:0">
<li data-sourcepos="9:1-9:37"><strong>電商平台：</strong> 處理大量的商品資訊、訂單資料和使用者行為數據。</li>
<li data-sourcepos="10:1-10:33"><strong>物聯網應用：</strong> 儲存和分析來自各種感測器的海量數據。</li>
<li data-sourcepos="11:1-11:32"><strong>遊戲平台：</strong> 儲存玩家資訊、遊戲進度和排行榜數據。</li>
<li data-sourcepos="12:1-14:0"><strong>社群媒體：</strong> 處理使用者資訊、貼文、訊息和互動數據。</li>
</ul>
<h3 data-sourcepos="15:1-15:25"><strong>(二) 沒有專職 DBA 的小型企業或團隊</strong></h3>
<p data-sourcepos="17:1-17:71">MongoDB 的易用性和自動化管理功能，例如自動分片、自動備份和恢復，可以降低資料庫的運維成本和複雜度，即使沒有專職 DBA 也能輕鬆管理。</p>
<h3 data-sourcepos="20:1-20:29"><strong>(三) 擁有大量尚未確定且未來還會變動的資料架構</strong></h3>
<p data-sourcepos="22:1-22:152">MongoDB 採用 schema-less 架構，允許使用者在無需預先定義資料結構的情況下儲存資料，非常適合應對結構經常變動的資料。</p>
<p data-sourcepos="22:1-22:152">這對於擁有大量不穩定 schema 的應用程式來說非常重要，因為它可以靈活地適應 schema 的變更，而無需進行複雜的遷移或重構。</p>
<h3 data-sourcepos="25:1-25:35"><strong>(四) 資料關係不複雜，且不需要進行 Join 運算的應用程式</strong></h3>
<p data-sourcepos="27:1-27:37">MongoDB 的文件資料模型非常適合儲存和查詢具有嵌套結構的資料，例如：</p>
<ul data-sourcepos="29:1-32:0">
<li data-sourcepos="29:1-29:12"><strong>產品目錄</strong></li>
<li data-sourcepos="30:1-30:14"><strong>使用者設定檔</strong></li>
<li data-sourcepos="31:1-32:0"><strong>內容管理系統</strong></li>
</ul>
<p data-sourcepos="33:1-33:83">這使得 MongoDB 非常適合資料關係不複雜，且不需要進行 Join 運算的應用程式，因為它可以避免 Join 操作帶來的性能開銷，並提供更簡單、更直觀的資料模型。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading --></p>
<h2><strong>MongoDB 與關聯式資料庫的關係為何？</strong></h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>MongoDB 是一個 <span style="background: linear-gradient(to top, rgba(255, 204, 0, 0.5) 50%, transparent 50%);">文件導向的 NoSQL 資料庫</span>，與傳統的關聯式資料庫如 MySQL、Oracle 或 SQL Server 有著本質上的差異。</p>
<p>這些差異不僅體現在資料管理的方式上，其中的文件導向和無架構設計使 MongoDB 在可擴展性和高可用性方面具有優越的效能。雖然，MongoDB 和 MySQL 都是開源且常見的資料庫，兩種資料庫的核心理念卻截然不同，因為它們分別為解決不同的問題而生。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>在選擇 MongoDB 前，使用者必須先了解關聯式資料庫（RDBMS）與非關聯式資料庫（NoSQL）間的區別。</p>
<p>因此接下來我們將介紹關聯式資料庫與非關聯式資料庫間的區別，並深入比較 MongoDB 與 MySQL 的差異。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading {"level":3} --></p>
<h3><strong>關聯式資料庫（RDBMS）</strong></h3>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>關聯式資料庫（RDBMS）是一種傳統的資料庫系統，以結構化查詢語言（SQL）為基礎，將資料儲存於預定義的表格中。這些表格包括行和列，彼此之間存在明確的關聯性。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>在 RDBMS 中，使用者必須先將資料架構（Schema）和表之間的關係設定好。</p>
<p>這種預設方式使資料有明確的結構和關聯，但同時也會帶來一些挑戰。</p>
<p>因為一但將資料架構設定好，後續的變更就會變得相當複雜，尤其在資料量龐大的情況下，調整 Schema 不僅麻煩，更可能是個浩大的工程。儘管如此，關聯式資料庫的結構化方式仍適用於許多情況。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>例如，它特別適合遵循ACID 特性的產業，如資料交易密集的銀行系統、企業資源規劃（ERP）系統等。這類強調一致性與完整性的設計，使其成為相關場景中的理想資料庫代表，如 MySQL 與 PostgreSQL。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading {"level":3} --></p>
<h3><strong>非關聯式資料庫（NoSQL）</strong></h3>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>NoSQL 意指「not only SQL」，指不限於關聯式資料庫的各類資料庫。</p>
<p>NoSQL 資料庫通常無固定架構，具備更高的水平擴展性和靈活的資料結構，能快速存取大量非結構化或半結構化資料。</p>
<p>因此，它們特別適合需要高速讀寫和高吞吐量的場景，如即時分析、物聯網（IoT）及大數據應用。而代表性資料庫包括 MongoDB 與 Cassandra。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading --></p>
<h2><b>MongoDB 相較於 MySQL 的優點為何？</b></h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:heading {"level":3} --></p>
<h3><strong>（一）服務零中斷</strong></h3>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>主機發生故障時， MongoDB 的副本集架構（Replica Set）能夠提供 <span style="background: linear-gradient(to top, rgba(255, 204, 0, 0.5) 50%, transparent 50%);">冗餘（Redundancy）</span>和 <span style="background: linear-gradient(to top, rgba(255, 204, 0, 0.5) 50%, transparent 50%);">高可用性 (High Availability）</span>。</p>
<p>每個副本集內部包含多台主機，其中一台為 Primary，其他台為 Secondary，多台機器之間的狀態及資料會自動同步。因此，當故障發生時，系統會在幾秒之內從 Secondary 中選出一台 Primary 接管工作，從而達到零停機 。</p>
<p>然而，對 MySQL 來說，故障移轉的程序必須依靠手動完成。維運團隊需要無時無刻的保持警覺，就算主機在半夜發生故障，維運團隊還是必須起床修復。</p>
<p>這不僅讓團隊無法好好休息，主機重新上線也需要耗費幾分鐘的時間。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading {"level":3} --></p>
<h3>（二）更快的開發時程</h3>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>JSON 檔的本質是靈活的，每個文檔資料中的 Key Value 也不盡相同 。</p>
<p>例如：產品目錄中，儲存男裝資料與儲存電視規格資料的 Key/Value 是不相同的。我們也稱這種現象為資料的「多型」。</p>
<p>使用 JSON 文檔，我們能夠在無需更改資料庫架構的情況下，隨意增添資料的 Key Value。 JSON 文檔這種對資料欄位沒有強制定義的特性，讓開發者能用最短的時間開發軟體系統。</p>
<p>反觀 MySQL ，如果貿然更改 MySQL 內的資料結構，會造成資料庫的停機或主機資源的大量耗損。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading {"level":3} --></p>
<h3>（三）更方便的擴充</h3>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>隨著資料量的增多，再優秀的資料庫都會面臨擴充的需求，利用 MongoDB 的分片功能，資料庫中的工作量會被分散至多台主機中。</p>
<p>用戶只需根據自身的需求增加主機，而不用花費鉅額成本增添一台效能更好的主機系統，從而達到節省成本的目的。而且使用者在擴充 MongoDB 時，無需更改資料庫內的設定，能減少擴充的複雜度。</p>
<p>然而，在擴充 MySQL 時，由於關聯式資料庫內寫入大量的 SQL Join，使用者必須調整資料庫內的所有程式碼、停機資料庫，同時必須小心地處理資料表格存放的節點。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading {"level":3} --></p>
<h3>（四）MongoDB 與 MySQL 的差異對照表</h3>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>以下為 MongoDB 與 MySQL 之間的差別：</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:table --></p>
<figure>
<table>
<tbody>
<tr>
<td data-align="center"> </td>
<td data-align="center"><strong> MongoDB</strong></td>
<td data-align="center"><strong> MySQL</strong></td>
</tr>
<tr>
<td data-align="center">資料類型</td>
<td data-align="center">非結構化或半結構資料</td>
<td data-align="center">結構化資料</td>
</tr>
<tr>
<td data-align="center">資料表示方法</td>
<td data-align="center">JSON 文檔</td>
<td data-align="center">Row、Table</td>
</tr>
<tr>
<td data-align="center">JOIN 支援</td>
<td data-align="center">沒有</td>
<td data-align="center">有</td>
</tr>
<tr>
<td data-align="center">架構</td>
<td data-align="center">不需定義</td>
<td data-align="center">須將資料定義為表格和欄位</td>
</tr>
<tr>
<td data-align="center">查詢語法</td>
<td data-align="center">Javascript</td>
<td data-align="center">SQL</td>
</tr>
</tbody>
</table>
</figure>
<p><!-- /wp:table --></p>
<p><!-- wp:paragraph --></p>
<p>語法差異</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>雖然 MongoDB 使用的術語和 MySQL 不同，但本質上是差不多的，差異可參考下方術語對照表 ： </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:table --></p>
<figure>
<table>
<tbody>
<tr>
<td data-align="center"><strong> SQL 術語 </strong></td>
<td data-align="center"><strong>MongoDB 術語</strong></td>
<td data-align="center"><strong>說明 </strong></td>
</tr>
<tr>
<td data-align="center">database</td>
<td data-align="center">database</td>
<td data-align="center">資料庫</td>
</tr>
<tr>
<td data-align="center">table</td>
<td data-align="center">collection</td>
<td data-align="center">資料表格/集合</td>
</tr>
<tr>
<td data-align="center">row</td>
<td data-align="center">document</td>
<td data-align="center">行/文檔</td>
</tr>
<tr>
<td data-align="center">column</td>
<td data-align="center">field</td>
<td data-align="center">資料欄位/域</td>
</tr>
<tr>
<td data-align="center">index</td>
<td data-align="center">index</td>
<td data-align="center">索引</td>
</tr>
</tbody>
</table>
</figure>
<p><!-- /wp:table --></p>
<p><!-- wp:heading --></p>
<h2><strong>總結</strong></h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>MongoDB 是目前市面上最受歡迎的 NoSQL 資料庫，同時也是 NoSQL 資料庫領域中的領頭羊。</p>
<p>MongoDB 提供企業更方便的資料儲存解決方案、提供工程師更友善的開發環境，也讓企業在不用花費鉅額成本的情況下，能夠選擇一個價格更低廉，效能良好的資料庫替代方案。</p>
<p>歐立威科技是 MongoDB 的代理商，如果想要獲得更多資訊，<a href="https://www.omniwaresoft.com.tw/contact/" target="_blank" rel="noopener">歡迎聯繫我們！</a></p>
<hr />
<p><!-- /wp:button --></p>
<p><!-- /wp:buttons --></p>
<p><!-- /wp:html --></p>
<p>加入歐立威 LINE 好友，了解更多產品資訊<br /><br /><a style="display: inline-block;" href="https://lin.ee/VCvhQSK" target="_blank" rel="noopener"> <img data-recalc-dims="1" width="1170" src="https://i0.wp.com/scdn.line-apps.com/n/line_add_friends/btn/zh-Hant.png?fit=1170%2C36&#038;ssl=1" alt="加入好友" height="36" border="0" /> </a></p>]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">16944</post-id>	</item>
		<item>
		<title>MongoDB &#8211; Apache Log4j 漏洞官方建議處置</title>
		<link>https://www.omniwaresoft.com.tw/product-news/mongodb-news/apache-log4j-mongodb/</link>
		
		<dc:creator><![CDATA[Omni]]></dc:creator>
		<pubDate>Tue, 28 Dec 2021 21:29:34 +0000</pubDate>
				<category><![CDATA[MongoDB 產品資訊]]></category>
		<category><![CDATA[產品資訊]]></category>
		<category><![CDATA[Log4j]]></category>
		<category><![CDATA[MongoDB]]></category>
		<guid isPermaLink="false">http://www.omniwaresoft.com.tw/?p=16792</guid>

					<description><![CDATA[截至台灣時間 2021/12/20，MongoDB 被影響的產品調查狀態如下]]></description>
										<content:encoded><![CDATA[
<p>歐立威科技整理 MongoDB 官方針對本次 Log4j 漏洞的影響與建議的處置，更多關於本次漏洞訊息及其他產品處置請參考 <a rel="noreferrer noopener" href="https://www.omniwaresoft.com.tw/product-news/apache_log4j_security_vulnerabilities/" target="_blank">Apache Log4j 漏洞事件說明與建議處置</a>。</p>



<h2 class="wp-block-heading">【前情提要】</h2>



<p>2021年12月9日，Apache Log4j 被揭漏有重大風險漏洞 Log4Shell，漏洞編號 CVE-2021-44228。駭客可以利用該漏洞發動遠端程式碼執行攻擊，最嚴重可以接管整台系統，影響範圍擴及 Apache Log4j 2 中 logging library 的多個版本，資安專家稱為近 10 年來最嚴重漏洞，研究人員也發現已經有針對該漏洞的攻擊行動。</p>



<h2 class="wp-block-heading">哪些產品被影響？</h2>



<p>截至台灣時間 2021/12/20，MongoDB 被影響的產品調查狀態如下</p>



<figure class="wp-block-image size-full"><img data-recalc-dims="1" width="779" height="592" src="https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/07/MongoDB_Log4shell.jpeg?resize=779%2C592&#038;ssl=1" alt="" class="wp-image-31016" srcset="https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/07/MongoDB_Log4shell.jpeg?w=779&amp;ssl=1 779w, https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/07/MongoDB_Log4shell.jpeg?resize=300%2C228&amp;ssl=1 300w, https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/07/MongoDB_Log4shell.jpeg?resize=768%2C584&amp;ssl=1 768w" sizes="(max-width: 779px) 100vw, 779px" /></figure>



<hr class="wp-block-separator has-css-opacity"/>



<p>本文章為歐立威科技整理原廠官方文件與網路資源，並非即時更新，僅供使用者參考，使用者應自行審慎評估自身環境及官方最新建議以採取最佳行動，若需要任何技術支援歡迎聯絡我們。</p>



<div class="wp-block-buttons is-horizontal is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-1 wp-block-buttons-is-layout-flex">
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://www.omniwaresoft.com.tw/contactus/" target="_blank" rel="noreferrer noopener">聯絡我們</a></div>
</div>



<p>參考資料：</p>



<ul class="wp-block-list">
<li><a href="https://www.mongodb.com/blog/post/log4shell-vulnerability-cve-2021-44228-and-mongodb" target="_blank" rel="noreferrer noopener">Log4Shell Vulnerability (CVE-2021-44228, CVE-2021-45046 and CVE-2021-45105) and MongoDB</a></li>
</ul>



<p></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">16792</post-id>	</item>
		<item>
		<title>《歐立威科技 2021 系列研討會》12/01 &#124; MongoDB 資料模型設計與應用案例分享</title>
		<link>https://www.omniwaresoft.com.tw/all-events/mongodb-event/mongodb-webinar-211201/</link>
		
		<dc:creator><![CDATA[Omni]]></dc:creator>
		<pubDate>Tue, 09 Nov 2021 08:18:24 +0000</pubDate>
				<category><![CDATA[MongoDB 活動]]></category>
		<category><![CDATA[MongoDB]]></category>
		<category><![CDATA[Webinar]]></category>
		<guid isPermaLink="false">http://www.omniwaresoft.com.tw/?p=16554</guid>

					<description><![CDATA[良好的資料模型對實際資料應用場景有顯著的幫助，包括效能提升以及節省硬碟空間。此次線上研討會將分享 Data Modeling 的方法並介紹 Schema Design Patterns，並探討如何將其應用在實際用例上]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="16554" class="elementor elementor-16554" data-elementor-post-type="post">
						<section data-particle_enable="false" data-particle-mobile-disabled="false" class="elementor-section elementor-top-section elementor-element elementor-element-702dd897 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="702dd897" data-element_type="section">
						<div class="elementor-container elementor-column-gap-thegem"><div class="elementor-row">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-65b7b332" data-id="65b7b332" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-44337d49 flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-text-editor" data-id="44337d49" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
												<div class="elementor-text-editor elementor-clearfix">
						<p></p>
<p></p>
<p></p>
<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-4 wp-block-columns-is-layout-flex"><p></p>
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:100%"><p></p>
<figure class="wp-block-gallery aligncenter has-nested-images columns-default is-cropped wp-block-gallery-4 is-layout-flex wp-block-gallery-is-layout-flex"><p></p>
<figure class="wp-block-image size-full"><img data-recalc-dims="1" src="https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2021/11/2021-%E4%B8%8B%E5%8D%8A%E5%B9%B4-%E7%B7%9A%E4%B8%8A%E7%A0%94%E8%A8%8E%E6%9C%83cover-photo-1.jpg?w=1170&#038;ssl=1" alt="MongoDB Webinar" class="wp-image-16552"></figure>
<p></p></figure>
<p></p>
<p></p>
<p></p></div>
<p></p></div>
<p></p>
<p></p>
<p>《免費報名》填寫回饋問卷再拿咖啡兌換券！</p>
<p></p>
<p></p>
<h2 class="wp-block-heading" style="font-size:24px"><strong>活動介紹:</strong></h2>
<p></p>
<p></p>
<p>Data Model 對資料庫應用有著至關重要的影響。在 MongoDB 中，schema 不需要預先定義就能插入資料，在資料結構的規劃與使用上提供了極大的彈性。任何格式的資料結構都可以在同個集合中被應用，讓使用者在 AP 開發的過程中可以隨著需求變化，進行快速轉換以適應新的挑戰。良好的資料模型對實際資料應用場景有顯著的幫助，包括效能提升以及節省硬碟空間。</p>
<p></p>
<p></p>
<p>此次線上研討會將分享 Data Modeling 的方法並介紹 Schema Design Patterns，並探討如何將其應用在實際用例上。&nbsp;</p>
<p></p>
<p></p>
<p class="has-black-color has-text-color" style="font-size:24px"><strong>活動議程:</strong></p>
<p></p>
<p></p>
<p></p>
<p></p>
<figure class="wp-block-table">
<table>
<tbody>
<tr>
<td>
<p>時間</p>
</td>
<td>
<p>議程</p>
</td>
<td>
<p>講師</p>
</td>
</tr>
<tr>
<td>
<p>10:55~11:00</p>
</td>
<td>
<p>來賓報到</p>
</td>
<td>
<p>&#8211;</p>
</td>
</tr>
<tr>
<td>
<p>11:00~11:05</p>
</td>
<td>
<p>Opening</p>
</td>
<td>
<p>歐立威科技</p>
<p>技術顧問 Regy</p>
</td>
</tr>
<tr>
<td>
<p>11:05~11:55</p>
</td>
<td>MongoDB 資料模型設計</td>
<td>
<p>歐立威科技</p>
<p>技術顧問&nbsp;Regy</p>
</td>
</tr>
<tr>
<td>11:55~12:00</td>
<td>QA</td>
<td>
<p>歐立威科技</p>
<p>技術顧問&nbsp;Regy</p>
</td>
</tr>
</tbody>
</table>
</figure>
<p></p>
<p></p>
<p></p>
<p></p>
<p>本活動完全免費並在線上進行，歡迎對 MongoDB&nbsp;有興趣的朋友參與，報名成功後會議連結會寄至報名信箱，請留意！**請以公司信箱報名以加速審核**</p>
<p></p>
<p></p>
<div class="wp-block-button aligncenter is-style-fill"><a class="wp-block-button__link has-vivid-green-cyan-background-color has-background wp-element-button" href="https://lihi1.com/c8hO3/omnipost" target="_blank" rel="noreferrer noopener">立刻報名 <strong>&gt;&gt;</strong></a></div>
<p></p>
<p></p>
<p></p>							</div>
										</div>
				</div>
					</div>
		</div>
					</div></div>
		</section>
				</div>
		]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">16554</post-id>	</item>
		<item>
		<title>2021.08.18 《歐立威科技 2021 系列研討會》8/18 &#124; MongoDB 高效查詢術，索引組合最佳化！</title>
		<link>https://www.omniwaresoft.com.tw/all-events/mongodb-event/mongodb-webinar-210818/</link>
		
		<dc:creator><![CDATA[Omni]]></dc:creator>
		<pubDate>Wed, 28 Jul 2021 09:58:53 +0000</pubDate>
				<category><![CDATA[MongoDB 活動]]></category>
		<category><![CDATA[活動及教育訓練]]></category>
		<category><![CDATA[MongoDB]]></category>
		<category><![CDATA[Webinar]]></category>
		<guid isPermaLink="false">http://www.omniwaresoft.com.tw/?p=15904</guid>

					<description><![CDATA[資料庫索引能幫助我們快速查詢所需的資料，極大提升了整體資料庫性能。但索引不是萬靈丹，並不是用得越多效能提升就越顯著，用不好反而會產生嚴重的效能問題。此次研討會將會介紹 MongoDB 索引運作的原理，並探討索引組合的最佳化應用。]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="15904" class="elementor elementor-15904" data-elementor-post-type="post">
						<section data-particle_enable="false" data-particle-mobile-disabled="false" class="elementor-section elementor-top-section elementor-element elementor-element-17b34156 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="17b34156" data-element_type="section">
						<div class="elementor-container elementor-column-gap-thegem"><div class="elementor-row">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6672e56d" data-id="6672e56d" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-706d6bb1 flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-text-editor" data-id="706d6bb1" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
												<div class="elementor-text-editor elementor-clearfix">
						<p></p>
<p></p>
<p></p>
<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-6 wp-block-columns-is-layout-flex"><p></p>
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:100%"><p></p>
<figure class="wp-block-gallery aligncenter has-nested-images columns-default is-cropped wp-block-gallery-6 is-layout-flex wp-block-gallery-is-layout-flex"><p></p>
<figure class="wp-block-image size-full"><img loading="lazy" data-recalc-dims="1" height="512" width="1024" src="https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/07/MongoDB-Webinar-Image.png?resize=1024%2C512&#038;ssl=1" alt="MongoDb Webinar Image" class="wp-image-31248" srcset="https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/07/MongoDB-Webinar-Image.png?w=1080&amp;ssl=1 1080w, https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/07/MongoDB-Webinar-Image.png?resize=300%2C150&amp;ssl=1 300w, https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/07/MongoDB-Webinar-Image.png?resize=1024%2C512&amp;ssl=1 1024w, https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/07/MongoDB-Webinar-Image.png?resize=768%2C384&amp;ssl=1 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p></p></figure>
<p></p>
<p></p>
<p></p></div>
<p></p></div>
<p></p>
<p></p>
<p>《免費報名》填寫回饋問卷再拿咖啡兌換券！</p>
<p></p>
<p></p>
<h2 class="wp-block-heading" style="font-size:30px"><strong>活動介紹:</strong></h2>
<p></p>
<p></p>
<p>資料庫索引能幫助我們快速查詢所需的資料，極大提升了整體資料庫性能。</p>
<p></p>
<p></p>
<p>但索引不是萬靈丹，並不是用得越多效能提升就越顯著，用不好反而會產生嚴重的效能問題。</p>
<p></p>
<p></p>
<p>此次研討會將會介紹 MongoDB 索引運作的原理，並探討索引組合的最佳化應用。&nbsp;</p>
<p></p>
<p></p>
<h2 class="wp-block-heading" style="font-size:30px"><strong>活動議程:</strong></h2>
<p></p>
<p></p>
<p></p>
<p></p>
<figure class="wp-block-table">
<table>
<tbody>
<tr>
<td>
<p style="text-align: center;">時間</p>
</td>
<td>
<p>議程</p>
</td>
<td>
<p style="text-align: center;">講師</p>
</td>
</tr>
<tr>
<td>
<p>10:55~11:00</p>
</td>
<td>
<p>來賓報到</p>
</td>
<td>
<p style="text-align: center;">&#8211;</p>
</td>
</tr>
<tr>
<td>
<p style="text-align: center;">11:00~11:05</p>
</td>
<td>
<p>Opening</p>
</td>
<td>
<p style="text-align: center;">歐立威科技</p>
<p style="text-align: center;">技術顧問 Regy</p>
</td>
</tr>
<tr>
<td>
<p style="text-align: center;">11:05~11:55</p>
</td>
<td>MongoDB 高效查詢術</td>
<td>
<p style="text-align: center;">歐立威科技</p>
<p style="text-align: center;">技術顧問&nbsp;Regy</p>
</td>
</tr>
<tr>
<td>11:55~12:00</td>
<td>QA</td>
<td>
<p style="text-align: center;">歐立威科技</p>
<p style="text-align: center;">技術顧問&nbsp;Regy</p>
</td>
</tr>
</tbody>
</table>
</figure>
<p></p>
<p></p>
<p></p>
<p></p>
<p>本活動完全免費並在線上進行，歡迎對 MongoDB 有興趣的朋友參與，報名成功後會議連結會寄至報名信箱，請留意！**請以公司信箱報名以加速審核**</p>
<p></p>
<p></p>
<div class="wp-block-button aligncenter is-style-fill"><a class="wp-block-button__link has-vivid-green-cyan-background-color has-background" href="https://lihi1.com/5XrZz/omnipost" target="_blank" rel="noreferrer noopener">立刻報名 <strong>&gt;&gt;</strong></a></div>
<p></p>
<p></p>
<p></p>							</div>
										</div>
				</div>
					</div>
		</div>
					</div></div>
		</section>
				</div>
		]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">15904</post-id>	</item>
		<item>
		<title>2020.01.20 【MongoDB 研討會】2020 研討會精華內容回顧</title>
		<link>https://www.omniwaresoft.com.tw/all-events/mongodb-event/mongodb-webinar-210120-2020-review/</link>
		
		<dc:creator><![CDATA[Omni]]></dc:creator>
		<pubDate>Tue, 12 Jan 2021 09:07:49 +0000</pubDate>
				<category><![CDATA[MongoDB 活動]]></category>
		<category><![CDATA[活動及教育訓練]]></category>
		<category><![CDATA[MongoDB]]></category>
		<category><![CDATA[Webinar]]></category>
		<guid isPermaLink="false">http://www.omniwaresoft.com.tw/?p=15319</guid>

					<description><![CDATA[2020年7~12月，我們進行了六場講座，討論主題包括CRUD、Replicaset、Sharding cluster、聚合分析以及 4.4 版本的介紹等豐富的內容！若您去年因故未能參與，沒關係！我們做了一個包含這些主題的精華重點總整理，以及常見問題的分享，一個小時給您滿滿乾貨！已經參加過的夥伴，也歡迎和我們一起複習喔！]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="15319" class="elementor elementor-15319" data-elementor-post-type="post">
						<section data-particle_enable="false" data-particle-mobile-disabled="false" class="elementor-section elementor-top-section elementor-element elementor-element-6f6a41c8 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="6f6a41c8" data-element_type="section">
						<div class="elementor-container elementor-column-gap-thegem"><div class="elementor-row">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-62936cc4" data-id="62936cc4" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-4d842a3e flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-text-editor" data-id="4d842a3e" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
												<div class="elementor-text-editor elementor-clearfix">
						<p></p>
<figure class="wp-block-gallery aligncenter has-nested-images columns-default is-cropped wp-block-gallery-8 is-layout-flex wp-block-gallery-is-layout-flex"><p></p>
<figure class="wp-block-image size-large"><img loading="lazy" data-id="31408" data-recalc-dims="1" height="576" width="1024" src="https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/07/2021-MongoDB-Webinar.jpeg?resize=1024%2C576&#038;ssl=1" alt="MongoDB-Webinar" class="wp-image-31408" srcset="https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/07/2021-MongoDB-Webinar.jpeg?w=1920&amp;ssl=1 1920w, https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/07/2021-MongoDB-Webinar.jpeg?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/07/2021-MongoDB-Webinar.jpeg?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/07/2021-MongoDB-Webinar.jpeg?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/07/2021-MongoDB-Webinar.jpeg?resize=1536%2C864&amp;ssl=1 1536w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p></p></figure>
<p></p>
<div class="style-ed4696a1-event-content-section-title">
<div>&nbsp;</div>
<div>&nbsp;</div>
<div class="style-ed4696a1-event-content-section-title"><span style="font-size: inherit;">《免費報名》喝咖啡，配 Mongo！填寫回饋問卷拿咖啡兌換券！</span></div>
<article class="style-225f7a48-event-content">
<p>MongoDB&nbsp;使用者看過來！</p>
<p>2021 第一場 MongoDB 主題講座來囉！</p>
<h2><strong>活動介紹:</strong></h2>
<p></p>
<p>2020年7~12月，我們進行了六場講座，討論主題包括CRUD、Replicaset、Sharding cluster、聚合分析以及 4.4 版本的介紹等豐富的內容！</p>
<p>若您去年因故未能參與，沒關係！&nbsp;</p>
<p></p>
<p>我們做了一個包含這些主題的精華重點總整理，以及常見問題的分享，一個小時給您滿滿乾貨！</p>
<p>已經參加過的夥伴，也歡迎和我們一起複習喔！</p>
<p>?研討會也有ＱＡ時間，由講師 Willy 解答各種問題！</p>
<p></p>
<h2><strong>活動議程:</strong></h2>
<p></p>
<table class="Table" style="height: 499px;" border="1" width="710" cellspacing="0" align="center">
<tbody>
<tr>
<td>
<p>時間</p>
</td>
<td>
<p>議程</p>
</td>
<td>
<p>講師</p>
</td>
</tr>
<tr>
<td>
<p>10:55~11:00</p>
</td>
<td>
<p>來賓報到</p>
</td>
<td>
<p>&#8211;</p>
</td>
</tr>
<tr>
<td>
<p>11:00~11:05</p>
</td>
<td>
<p>Opening</p>
</td>
<td>
<p>歐立威科技</p>
<p>技術顧問 Willy</p>
</td>
</tr>
<tr>
<td>
<p>11:05~11:50</p>
</td>
<td>2020 精華內容重點整理</td>
<td>
<p>歐立威科技</p>
<p>技術顧問 Willy</p>
</td>
</tr>
<tr>
<td>
<p>11:50~12:00</p>
</td>
<td>
<p>Q&amp;A</p>
</td>
<td>
<p>歐立威科技</p>
<p>技術顧問 Willy</p>
</td>
</tr>
</tbody>
</table>
<p></p>
<p>本活動完全免費並在線上進行，歡迎對&nbsp;MongoDB 有興趣的朋友參與，報名成功後會議連結會寄至報名信箱，請留意！</p>
</article>
</div>
<p></p>
<div class="wp-block-button aligncenter is-style-fill"><a class="wp-block-button__link has-vivid-green-cyan-background-color has-background" href="https://lihi1.cc/XzsDS/webpost">立刻報名 <strong>&gt;&gt;</strong></a></div>
<p></p>
<p></p>
<p></p>							</div>
										</div>
				</div>
					</div>
		</div>
					</div></div>
		</section>
				</div>
		]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">15319</post-id>	</item>
		<item>
		<title>2020.12.16 【MongoDB 系列研討會】聚合分析利器 Part II</title>
		<link>https://www.omniwaresoft.com.tw/all-events/mongodb-event/mongodb-webinar-201216-aggregation/</link>
		
		<dc:creator><![CDATA[Omni]]></dc:creator>
		<pubDate>Tue, 01 Dec 2020 16:17:21 +0000</pubDate>
				<category><![CDATA[MongoDB 活動]]></category>
		<category><![CDATA[活動及教育訓練]]></category>
		<category><![CDATA[MongoDB]]></category>
		<category><![CDATA[Webinar]]></category>
		<guid isPermaLink="false">http://www.omniwaresoft.com.tw/?p=15284</guid>

					<description><![CDATA[聚合能夠處理數據記錄並回傳計算結果，將來自多個文檔的值分組在一起，對分組後的數據執行各種操作並返回單個結果。MongoDB 的聚合框架以數據處理管道(pipeline)的概念為模型，文檔進入多階段管道，再將文檔轉換為匯總結果。本次研討會將介紹 MongoDB Aggregation Pipeline 基本觀念複習與更多應用分享。]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="15284" class="elementor elementor-15284" data-elementor-post-type="post">
						<section data-particle_enable="false" data-particle-mobile-disabled="false" class="elementor-section elementor-top-section elementor-element elementor-element-4dd81a61 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="4dd81a61" data-element_type="section">
						<div class="elementor-container elementor-column-gap-thegem"><div class="elementor-row">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5d6fd562" data-id="5d6fd562" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-24d2138d flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-text-editor" data-id="24d2138d" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
												<div class="elementor-text-editor elementor-clearfix">
						<p></p>
<figure class="wp-block-image size-large"><img loading="lazy" data-recalc-dims="1" height="519" width="1024" src="https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/07/MongoDB-Webinar-.jpeg?resize=1024%2C519&#038;ssl=1" alt="MongoDB Webinar" class="wp-image-31420" srcset="https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/07/MongoDB-Webinar-.jpeg?w=2240&amp;ssl=1 2240w, https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/07/MongoDB-Webinar-.jpeg?resize=300%2C152&amp;ssl=1 300w, https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/07/MongoDB-Webinar-.jpeg?resize=1024%2C519&amp;ssl=1 1024w, https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/07/MongoDB-Webinar-.jpeg?resize=768%2C389&amp;ssl=1 768w, https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/07/MongoDB-Webinar-.jpeg?resize=1536%2C779&amp;ssl=1 1536w, https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2022/07/MongoDB-Webinar-.jpeg?resize=2048%2C1039&amp;ssl=1 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p></p>
<h2 class="style-ed4696a1-event-content-section-title"><strong>活動介紹</strong></h2>
<article class="style-225f7a48-event-content">
<p>MongoDB 使用者集合啦！12月份 MongoDB 主題講座來襲！</p>
<h2><strong>時間:</strong></h2>
<p><strong><br></strong>12/16&nbsp; (三) 11:00~12:00&nbsp;</p>
<p></p>
<h2><strong>關於歐立威科技:</strong></h2>
<p></p>
<p>我們致力於推廣開源軟體，本著回饋開源社群的初衷，不定期舉辦免費的研討會、體驗營、技術小聚等活動，分享最新的產品資訊及技術交流。期望透過分享易於入門、上手的內容與實際案例，讓更多人認識、使用、推廣開源軟體，一起讓開源社群更加茁壯。</p>
<h2><strong>關於 MongoDB Aggregation</strong><strong>:</strong></h2>
<p>聚合能夠處理數據記錄並回傳計算結果，將來自多個文檔的值分組在一起，對分組後的數據執行各種操作並返回單個結果。MongoDB 的聚合框架以數據處理管道(pipeline)的概念為模型，文檔進入多階段管道，再將文檔轉換為匯總結果。</p>
<p>本次研討會將介紹 MongoDB Aggregation Pipeline 基本觀念複習與更多應用分享。</p>
<p></p>
<h2><strong>活動議程:</strong></h2>
<table class="Table" style="height: 556px;" border="1" width="533" cellspacing="0" align="center">
<tbody>
<tr>
<td>
<p style="text-align: center;">時間</p>
</td>
<td style="text-align: center;">
<p>議程</p>
</td>
<td style="text-align: center;">
<p>講師</p>
</td>
</tr>
<tr>
<td style="text-align: center;">
<p>10:55~11:00</p>
</td>
<td style="text-align: center;">
<p style="text-align: center;">來賓報到</p>
</td>
<td>
<p style="text-align: center;">&#8211;</p>
</td>
</tr>
<tr>
<td>
<p style="text-align: center;">11:00~11:05</p>
</td>
<td style="text-align: center;">
<p>Opening</p>
</td>
<td style="text-align: center;">
<p>歐立威科技</p>
<p>技術顧問 Willy</p>
</td>
</tr>
<tr>
<td>
<p style="text-align: center;">11:05~11:50</p>
</td>
<td style="text-align: center;">聚合分析利器 Part II</td>
<td>
<p style="text-align: center;">歐立威科技</p>
<p style="text-align: center;">技術顧問 Willy</p>
</td>
</tr>
<tr>
<td style="text-align: center;">
<p>11:50~12:00</p>
</td>
<td style="text-align: center;">
<p>Q&amp;A</p>
</td>
<td>
<p style="text-align: center;">歐立威科技</p>
<p style="text-align: center;">技術顧問 Willy</p>
</td>
</tr>
</tbody>
</table>
<p>本活動完全免費並在線上進行，歡迎對&nbsp;MongoDB 有興趣的朋友參與，報名成功後會議連結會寄至報名信箱，請留意！</p>
</article>
<p></p>
<div class="wp-block-button aligncenter is-style-fill"><a class="wp-block-button__link has-vivid-green-cyan-background-color has-background" href="https://lihi1.cc/H1M2W/webpost">立刻報名 <strong>&gt;&gt;</strong></a></div>
<p></p>
<p></p>
<p></p>							</div>
										</div>
				</div>
					</div>
		</div>
					</div></div>
		</section>
				</div>
		]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">15284</post-id>	</item>
		<item>
		<title>Bosch 部署 MongoDB 提升物聯網運作效率</title>
		<link>https://www.omniwaresoft.com.tw/usecase/mongodb-usecase/bosch-deploy-mongodb/</link>
		
		<dc:creator><![CDATA[Omni]]></dc:creator>
		<pubDate>Mon, 09 Nov 2020 15:57:58 +0000</pubDate>
				<category><![CDATA[MongoDB 成功案例]]></category>
		<category><![CDATA[成功案例]]></category>
		<category><![CDATA[IOT]]></category>
		<category><![CDATA[MongoDB]]></category>
		<guid isPermaLink="false">http://www.omniwaresoft.com.tw/?p=15217</guid>

					<description><![CDATA[知名跨國工程集團博世集團（Bosch Group），以家電、汽車零件製造聞名，同時博世也是物聯網的領導者。然而物聯網產生大筆且缺乏結構的的資料帶來新的挑戰，傳統的關聯式資料庫在資料處理上缺乏彈性且不能支援及時的分析，已不能滿足物聯網對於資料的需求， MongoBD 能補足傳統資料庫所缺乏的功能。]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="15217" class="elementor elementor-15217" data-elementor-post-type="post">
						<section data-particle_enable="false" data-particle-mobile-disabled="false" class="elementor-section elementor-top-section elementor-element elementor-element-3c1118ae elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="3c1118ae" data-element_type="section">
						<div class="elementor-container elementor-column-gap-thegem"><div class="elementor-row">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-600c2148" data-id="600c2148" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-376fb10b flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-text-editor" data-id="376fb10b" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
												<div class="elementor-text-editor elementor-clearfix">
						<p></p>
<h2 class="wp-block-heading">Bosch藉由IoT提升生產效率</h2>
<p></p>
<p></p>
<p></p>
<p></p>
<p><span style="font-size: 14pt;">擁有近300,000名員工的跨國工程集團博世集團（Bosch Group），以家用電器在美國而聞名，也是世界上最大的汽車零件製造商。從智慧車和遠端資料處理到微機電系統（MEMS）， Bosch Group 物聯網的領導者。</span></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p><span style="font-size: 14pt;">隨著機器、設備逐漸導入AI，越來越多設備連上網路並建立物聯網（IoT）系統。物聯網擁有廣泛的多元化產品基礎，為博世集團提供了巨大的優勢來提高效率並開發新業務。然而在物聯網中設計、開發和運行創新軟體和行業解決方案也構成技術上重大挑戰。博世使用 Bosch Software Innovations （Bosch SI）來管理公司內物聯網活動及資料，幫助其內部管理和外部客戶服務在物聯網領域能順利運行。</span></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p><span style="font-size: 14pt;">物聯網發展尚未成熟，但處於高速成長期。目前估計，近幾年將連接500億個以上設備和系統。然而傳統系統無法負荷如此高速成長的資料量、速度和復雜性。因此博世一直在尋找創新的合作夥伴，以應對物聯網大數據的挑戰。</span></p>
<p></p>
<p></p>
<p></p>
<p></p>
<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" data-recalc-dims="1" src="https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2023/03/car-image.png?resize=648%2C429&#038;ssl=1" alt="car image" class="wp-image-35292" width="648" height="429"></figure>
<p></p>
<p></p>
<h2 class="wp-block-heading">物聯網數據漸為重要</h2>
<p></p>
<p></p>
<p></p>
<p></p>
<p><span style="font-size: 14pt;">除了必須有效率地傳輸資料，如何處理與整合資料也成為物聯網不可忽視的議題。博世物聯網套件搭配 MongoDB 整合資料庫可以解決資料整理及整合的難題。&nbsp;</span></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p><span style="font-size: 14pt;">以博世為汽車領域所提出的app為例，這個app為使用者提供汽車運行資訊，包括煞車系統、能源系統等等，使用者可進一步運用這些資料，不僅更細部了解系統效能，日後更可以用於分析、改善及研發。</span></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p><span style="font-size: 14pt;">除此之外， Bosch SI technology 為飛機製造商提供關鍵 IoT 資訊，為製造商帶來更全面、精細的管理製造流程，像拴緊六百萬個看似微小卻極為關鍵的飛機螺絲。該app 可透過無線傳輸捕獲所有資料，包括電池電量，操作師詳細資訊和時間序列數據。如果有任何偏差，該 app 會發出警報，以便操作師可以即時進行調整。該app管理維護計劃，追蹤詳細資訊以防止失誤，以符合美國聯邦航空總（FAA）和其他監管機構的要求。通過將數據及時連接到製程，該應用程序使該電動工具的功能成倍數增加。</span></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p><span style="font-size: 14pt;">在兩個應用實例中，Bosch物聯網套件整合各感應器數據並儲存於MongoDB。藉由 MongoDB 的即時性為app提供快速的資訊傳達，達到即時警示的功能。</span></p>
<p></p>
<p></p>
<p></p>
<p></p>
<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" data-recalc-dims="1" src="https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2023/03/bosch-image.png?resize=648%2C431&#038;ssl=1" alt="bosch image" class="wp-image-35294" width="648" height="431"></figure>
<p></p>
<p></p>
<h2 class="wp-block-heading"><span style="font-size: 24pt;">MongoDB 打破傳統資料庫系統限制，提供物聯網技術最佳方案</span></h2>
<p></p>
<p></p>
<p><span style="font-size: 14pt;">物聯網產生大筆且缺乏結構的的資料為資料管理帶來新的挑戰，傳統的關聯式資料庫在處理物聯網資料上有一些限制，像是缺乏彈性且不能支援及時的資料分析，因此無法提供像是即時警訊的功能。</span></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p><span style="font-size: 14pt;">物聯網對於資料的需求已不是傳統資料庫系統所能滿足， MongoBD 能補足傳統資料庫所缺乏的功能：</span></p>
<p></p>
<p></p>
<ul class="wp-block-list"><p></p>
<li> MongoDB能夠處理複雜的資料型態 </li>
<p></p></ul>
<p></p>
<p></p>
<p></p>
<p></p>
<p><span style="font-size: 14pt;">物聯網資料傳輸上需更快速的速度，更大的筆數和結構。 MongoDB可以輕鬆處理各種數據：結構化，半結構化，非結構化。使用JSON進行有效的資料建模可以輕鬆地將設備的資訊模型映射到資料庫中與其有關的檔案。</span></p>
<p></p>
<p></p>
<ul class="wp-block-list"><p></p>
<li> MongoDB 更能滿足靈活的商業環境 </li>
<p></p></ul>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p><span style="font-size: 14pt;">在變化多端的商業環境，使用者可能會不定時改變對資料模型的需求，為了滿足變化多端的資料需求，MongoDB的動態模式支持敏捷的開發，使開發程式簡化。即使您正在現場同時處理多個版本，添加新設備，感應器也很簡單。 MongoDB不會浪費時間來處理程式語言和資料庫之間的不相容問題，而是讓開發人員專注於開發功能豐富的應用程式。</span></p>
<p></p>
<p></p>
<ul class="wp-block-list"><p></p>
<li> 支援即時性分析 </li>
<p></p></ul>
<p></p>
<p></p>
<p></p>
<p></p>
<p><span style="font-size: 14pt;">即時分析資料進一步提升營運洞察力。MongoBD 方便使用者做資料遷移，無需等待ETL即能為使用者提供即時性的資訊，大大提升資料分析的效率。MongoDB豐富的索引和查詢功能－Aggregation Framework和本機MapReduce允許用戶提出複雜的資料問題，從而實現即時的營運洞察分析。</span></p>
<p></p>
<p></p>
<p></p>
<p></p>
<h2 class="wp-block-heading">Bosch SI 正擴大與 MongoDB 合作計畫</h2>
<p></p>
<p></p>
<p></p>
<p></p>
<p><span style="font-size: 14pt;">Bosch SI正在MongoDB上進行戰略性合作，將在其開展每個業務中部署MongoDB。例如，它可以通過店內地圖和個性化通知來改善零售購物體驗、在工廠中創造更安全的工作環境、通過供應鏈追蹤農產品等等。</span></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p><span style="font-size: 14pt;">物聯網市場快速成長，並帶領博世發展。Bosch SI正在繼續開發新應用程式，並與MongoDB緊密合作以擴大現有規模，利用MongoDB 橫向擴展快速的特性，達到成本效益。</span></p>
<p></p>
<p></p>
<p></p>
<p></p>
<div class="wp-block-button aligncenter"><a class="wp-block-button__link has-text-color has-background wp-element-button" href="https://www.omniwaresoft.com.tw/contactus/" style="border-radius:50px;color:#ffffff;background-color:#ac2323" target="_blank" rel="noreferrer noopener">聯絡我們</a></div>
<p></p>
<p></p>
<p></p>
<p></p>
<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow"></div></div>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>							</div>
										</div>
				</div>
					</div>
		</div>
					</div></div>
		</section>
				</div>
		]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">15217</post-id>	</item>
		<item>
		<title>滙豐銀行導入 MongoDB、微服務來達成數位化轉型</title>
		<link>https://www.omniwaresoft.com.tw/usecase/mongodb-usecase/mongodb-hsbc/</link>
		
		<dc:creator><![CDATA[Omni]]></dc:creator>
		<pubDate>Mon, 09 Nov 2020 15:42:46 +0000</pubDate>
				<category><![CDATA[MongoDB 成功案例]]></category>
		<category><![CDATA[Microservices]]></category>
		<category><![CDATA[MongoDB]]></category>
		<guid isPermaLink="false">http://www.omniwaresoft.com.tw/?p=15211</guid>

					<description><![CDATA[數位化革新改變銀行的營運生態。營運據點遍佈世界各地的滙豐銀行，擁有全球超過五千萬名客戶，因此數位化的管理客戶及營運資料已成為勢在必行的趨勢。依據董事會的討論，將「更簡單、更好、更快」訂為數位化轉型目標。滙豐部署MongoDB來簡化、整合、管理複雜的公司資料，協助滙豐銀行有效率提升其在個人及企業金融上的服務品質。]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="15211" class="elementor elementor-15211" data-elementor-post-type="post">
						<section data-particle_enable="false" data-particle-mobile-disabled="false" class="elementor-section elementor-top-section elementor-element elementor-element-34556794 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="34556794" data-element_type="section">
						<div class="elementor-container elementor-column-gap-thegem"><div class="elementor-row">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-64354bbe" data-id="64354bbe" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-1584f97a flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-text-editor" data-id="1584f97a" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
												<div class="elementor-text-editor elementor-clearfix">
						<p></p>
<h2 class="wp-block-heading"><span style="font-size: 24pt;"><strong>銀行產業數位化已勢在必行</strong></span></h2>
<p></p>
<p></p>
<p></p>
<p></p>
<p><span style="font-size: 14pt;">滙豐集團是總部設於倫敦、規模最大的歐系銀行，其旗下的滙豐銀行已成立超過 150 年。滙豐是全球規模最大的銀行及金融服務機構之一，營運據點遍及全球，包括歐洲、亞太、中東、北美洲和拉丁美洲等國家和地區。</span></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p><span style="font-size: 14pt;">隨著時代的推演，數位化的革新正改變銀行產業的營運生態。營運據點遍佈世界各地的滙豐銀行，擁有全球超過五千萬名金融服務客戶，因此數位化的管理客戶及營運資料已成為勢在必行的趨勢，使用數位化的管理模式協助滙豐銀行更有效率的提升其在個人及企業金融上的服務品質。&nbsp;</span></p>
<p></p>
<p></p>
<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" data-recalc-dims="1" src="https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2020/11/HSBC-Image.png?resize=503%2C329&#038;ssl=1" alt="HSBC Image" class="wp-image-31450" width="503" height="329" srcset="https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2020/11/HSBC-Image.png?w=862&amp;ssl=1 862w, https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2020/11/HSBC-Image.png?resize=300%2C196&amp;ssl=1 300w, https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2020/11/HSBC-Image.png?resize=768%2C502&amp;ssl=1 768w" sizes="(max-width: 503px) 100vw, 503px" /></figure>
<p></p>
<p></p>
<h2 class="wp-block-heading"><span style="font-size: 24pt;">滙豐銀行藉由MongoDB達成數位化轉型目標</span></h2>
<p></p>
<p></p>
<p></p>
<p></p>
<p><span style="font-size: 14pt;">在滙豐董事會的討論後，將「更簡單、更好、更快」（simpler, better and faster）訂為滙豐的數位化轉型目標。在現有的 agile 營運方式下，滙豐導入 DevOps 文化與微服務設計方法來達成董事會的數位化轉型目標，並部署 MongoDB 來簡化、整合、管理複雜的公司資料。</span></p>
<p></p>
<p></p>
<p></p>
<p></p>
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p></p>
<p><span style="font-size: 14pt;"><strong>「資料是滙豐的核心價值」</strong></span></p>
<p></p>
<p></p>
<p><span style="font-size: 14pt;"><strong>產品開發經理、股東權益管理經理運用統計數據指出：滙豐的內部資料在五年內將增長接近兩倍。</strong></span></p>
<p></p>
<p></p>
<p></p></blockquote>
<p></p>
<p></p>
<p><span style="font-size: 14pt;">在滙豐銀行所有部門中，交易技術團隊是最重視資料驅動的部門。作為數位化轉型目標的一部份，位在倫敦的交易技術團隊正在使用 MongoDB 來儲存交易的資料來進一步幫助交易平台操作人員、銷售人員一致、快速、可靠地取得資料。舉例來說，藉由 MongoDB 建立的營運資料庫將幫助用戶查看金融市場的資訊，包括債券、股票、期貨、期權及衍生品商品等。</span></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p><span style="font-size: 14pt;">在部署 MongoDB 前，滙豐銀行使用關聯式資料庫來存取公司資料，然而傳統的關聯式資料庫無法滿足董事會數位化轉型的需求，因此滙豐銀行導入 MongoDB 作為其新的解決方案，以達到董事會所提出「更簡單、更好、更快」（simpler, better and faster）的目標。</span></p>
<p></p>
<p></p>
<figure class="wp-block-image aligncenter size-full"><img loading="lazy" width="862" height="593" data-recalc-dims="1" src="https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2023/03/HSBC_MongoDB.png?w=1170&#038;ssl=1" alt="HSBC_MongoDB" class="wp-image-35468" srcset="https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2023/03/HSBC_MongoDB.png?w=862&amp;ssl=1 862w, https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2023/03/HSBC_MongoDB.png?resize=300%2C206&amp;ssl=1 300w, https://i0.wp.com/www.omniwaresoft.com.tw/wp-content/uploads/2023/03/HSBC_MongoDB.png?resize=768%2C528&amp;ssl=1 768w" sizes="(max-width: 862px) 100vw, 862px" /></figure>
<p></p>
<p></p>
<h2 class="wp-block-heading"><span style="font-size: 24pt;">Why MongoDB?</span></h2>
<p></p>
<p></p>
<ul class="wp-block-list"><p></p>
<li> <span style="color: rgb(60, 57, 80); font-family: Montserrat; font-size: 28px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase;">更簡單</span> </li>
<p></p></ul>
<p></p>
<p></p>
<p><span style="font-size: 14pt;">不同於關聯式資料庫，MongoDB 在建立債券、股票等金融產品的模型時可以省去一些複雜的步驟。雖然這些資產都是金融商品，但各有各的屬性，在資料存儲上依據不同商品需要不同的欄位，此資料特色稱為「多樣性」。相較於關聯式資料庫，MongoDB 更為有彈性，動態的資料框架可以更簡易地管理多樣化的資料型態。</span></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p><span style="font-size: 14pt;">滙豐銀行在全球設有多個資料中心。過去的關聯式資料庫需要在發生故障時進行手動故障排除以恢復服務，這是一個高成本的過程。 MongoDB 的自我修復函式庫成功克服資料的複雜性並增加彈性。</span></p>
<p></p>
<p></p>
<ul class="wp-block-list"><p></p>
<li> <span style="color: rgb(60, 57, 80); font-family: Montserrat; font-size: 28px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase;">更好</span> </li>
<p></p></ul>
<p></p>
<p></p>
<p><span style="font-size: 14pt;">滙豐銀行在其營運資料存儲中心部署多個微服務，並採用端至端 JSON 的資料型態，這些資料從客戶端一直延伸到應用程序以及市場數據本身。MongoDB 彈性的資料模組讓滙豐銀行能更有效率地管理其複雜資料，其中包括歷史資訊，為滙豐提供將資訊存儲在不同時間軸的功能。</span></p>
<p></p>
<p></p>
<ul class="wp-block-list"><p></p>
<li> <span style="color: rgb(60, 57, 80); font-family: Montserrat; font-size: 28px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase;">更快</span> </li>
<p></p></ul>
<p></p>
<p></p>
<p><span style="font-size: 14pt;">除了更快的行政效率，MongoDB 為滙豐銀行帶來了組織結構的改變，營運資料中心就是新技術導入的成果。滙豐內部正運行多個 DevOps 計畫，同時應用團隊也正運用更彈性的系統改變他們的營運結構。公司在公司結構上作出改革，包括從過去分散的組織結構整合為更為跨組織的結構，使得公司能激發更多創新的方案。</span></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p><span style="font-size: 14pt;">滙豐銀行相信，今日的技術理念將會影響明日公司文化。MongoDB 為滙豐帶來公司文化和結構上的轉變，技術上的提升也為公司提高營運效率，也因此滙豐銀行在今年的 MongoDB 資料驅動業務創新獎中備受肯定。</span></p>
<p></p>
<p></p>
<p></p>
<p></p>
<div class="wp-block-button aligncenter"><a class="wp-block-button__link has-text-color has-background wp-element-button" href="https://www.omniwaresoft.com.tw/contactus/" style="border-radius:50px;color:#ffffff;background-color:#ac2323" target="_blank" rel="noreferrer noopener">聯絡我們</a></div>
<p></p>
<p></p>
<p></p>
<p></p>
<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow"></div></div>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>							</div>
										</div>
				</div>
					</div>
		</div>
					</div></div>
		</section>
				</div>
		]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">15211</post-id>	</item>
	</channel>
</rss>
