天天看點

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

作者:IT技術分享社群
C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

LighthouseDB介紹

LighthouseDB輕量資料庫服務基于騰訊雲自研的新一代雲原生資料庫 TDSQL-C,融合了傳統資料庫、雲計算與新硬體技術的優勢,100%相容 MySQL,實作超百萬級 QPS 的高吞吐,128TB 海量分布式智能存儲,保障資料安全可靠。

LighthouseDB 産品特性

● 100%相容 MySQL:100%相容開源資料庫引擎 MySQL。

● 超高性能:單節點百萬 QPS 的超高性能,滿足高并發場景

● 快速恢複:計算節點實作無狀态,支援本地和跨裝置的秒級故障切換和恢複,支援基于快照的秒級備份和回檔

● 管理簡單:開箱即用,預設模闆提供簡化操作

● 資料高可靠:叢集支援安全組和 VPC 網絡隔離。自動維護資料和備份的多個副本,保障資料安全可靠,可靠性達99.9999999%。

● 超高成本效益:提供固定規格套餐,共享式資源超低價格即可購買使用輕量資料庫,性能遠高于自建資料庫

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

選購配置介紹

産品官網:

打開産品官網,然後點選立即選購按鈕。

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

然後進入選購界面,大家可以根據自己的需要選擇适合自己的配置。

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

選購配置完成後,可以進入産品控制台,界面如下:

這裡第一次進入可以修改資料庫密碼,友善後續操作。

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

點選左下角的登入按鈕,會打開資料庫管理頁面,選擇執行個體、資料庫賬戶、密碼點選登入按鈕。

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

建立資料庫

這時會進入資料庫管理界面。我們點選庫管理。

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

然後進入資料庫管理界面。點選建立資料庫按鈕

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

彈出資料庫建立界面,這裡設定資料庫名稱、字元集、排序規則,然後點選确定按鈕。

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

建立成功後可以看到新建立的資料庫DBDemo出現在最下面的清單。

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

建立資料表

資料庫建立後,我們可以建立資料表,界面如下:

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

然後切換到列資訊标簽頁,添加資料表字段

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

建立表sql如下“:

CREATE TABLE `T_User` (
  `Id` bigint NOT NULL AUTO_INCREMENT COMMENT '主鍵自增',
  `Name` varchar(20) DEFAULT '' COMMENT '姓名',
  `Age` int DEFAULT NULL COMMENT '年齡',
  `Address` varchar(100) DEFAULT '' COMMENT '住址',
  `Hobby` varchar(100) DEFAULT '' COMMENT '興趣愛好',
  `Birthday` date DEFAULT NULL COMMENT '出生日期',
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='使用者表'
           

SQL預覽界面

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

SQL變更預覽界面,确認沒問題,我們點選确定按鈕。

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

建立表成功後,我們可以新增一行記錄。界面如下:

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

點選送出按鈕會進入執行預覽界面,确認後點選執行資料就插入成功了。當然也可以進行資料導入的方式。

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

建立視圖

這裡建立一個V_User的視圖,查詢年齡大于30的使用者。

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

點選送出,進入建立視圖确認的彈窗,然後點選确定按鈕,視圖就可以建立了。

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

視圖建立後,可以執行sql語句,檢視視圖的資料。

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

建立函數

建立一個簡單的求和函數

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

界面如下:

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

建立函數語句如下:

CREATE DEFINER=`root`@`%` FUNCTION `func_sum`(num1 INT, num2 INT) RETURNS int
    DETERMINISTIC
    COMMENT '建立求和函數'
BEGIN
    DECLARE total INT;
    SET total = num1 + num2;
    RETURN total;
END
           

執行函數界面

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

開啟遠端通路

首先回到控制台界面,點選開啟公網。

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

然後本地cmd 去ping域名擷取公網ip

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

注意:資料庫端口就是開啟公網域名後的端口,不是預設的3306端口。

特别注意:外網通路僅用于開發或輔助管理資料庫,業務通路請使用内網通路。

然後可以使用navicat進行通路

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

成功通路後。

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

C#內建案例測試

首先建立一個控制台程式LighthouseDBDemo ,net架構為4.7.2

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

然後安裝第三方架構,這裡主要需要mysql驅動和Dapper資料庫orm架構。

打開nuget管理界面,安裝mysql驅動,版本選擇最新版8.0.31,

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

安裝Dapper 架構這裡也選擇最新版本2.1.28,主要是用來查詢和新增。

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

代碼如下

這裡主要展現了測試資料庫連接配接、查詢、新增操作,具體代碼如下:

using Dapper;
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LighthouseDBDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            string connectionStr = string.Format("data source={0};user id={1};password={2};database={3};port={4};pooling=false;charset=utf8;", "公網IP位址", "root", "12345678","DBDemo", "27452");
            ConnectionTest(connectionStr);
            GetSelectList(connectionStr);
            InsertDemo(connectionStr);
            Console.ReadKey();
        }

        /// <summary>
        /// 判斷資料庫伺服器是否連接配接成功
        /// </summary>
        /// <param name="conStr"></param>
        /// <returns></returns>
        public static void ConnectionTest(string conStr)
        {
            try
            {
                using (MySqlConnection connection = new MySqlConnection(conStr))
                {
                    connection.Open();                 
                    connection.Close();
                    Console.WriteLine("資料庫連接配接成功!");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("資料庫連接配接失敗!原因:"+ex.Message);
            }
        }

        /// <summary>
        /// 查詢測試
        /// </summary>
        /// <param name="conStr"></param>
        /// <returns></returns>
        public static void GetSelectList(string conStr)
        {
            string sql = "select name from T_User ";
            try
            {
                using (MySqlConnection connection = new MySqlConnection(conStr))
                {
                    var list = connection.Query<string>(sql).ToList();
                    if (list.Any())
                    {
                        foreach (var item in list)
                        {
                            Console.WriteLine(item);
                        }
                    }
                    
                }
            }
            catch(Exception ex)
            {
                Console.WriteLine("查詢失敗!原因:" + ex.Message);
            }
        }

        /// <summary>
        /// 資料插入測試
        /// </summary>
        /// <param name="conStr"></param>
        public static void InsertDemo(string conStr)
        {
            string sql = "INSERT INTO `DBDemo`.`T_User` (`Name`, `Age`, `Address`, `Hobby`, `Birthday`) VALUES ('小劉', 28, '江蘇徐州', '聽歌', '1996-08-05') ";
            try
            {
                using (MySqlConnection connection = new MySqlConnection(conStr))
                {
                    int count = connection.Execute(sql);
                    if (count > 0)
                    {
                        Console.WriteLine("資料插入成功!");
                    }

                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("查詢失敗!原因:" + ex.Message);
            }
        }
    }
}

           

然後運作項目,執行效果界面如下:

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

打開資料庫用戶端檢視

C#實戰:LighthouseDB輕量資料庫服務介紹和案例實踐

測試資料是ok,這個隻是一個簡單的demo,大家可以根據實際需要進行調整。

繼續閱讀