Hướng dẫn mariadb nodejs github - mariadb nodejs github

Hướng dẫn mariadb nodejs github - mariadb nodejs github

Đầu nối Mariadb Node.js

Máy khách Mariadb và MySQL không chặn cho Node.js.

Mariadb và MySQL Client, JavaScript 100%, với định nghĩa TypeScript, với API Promise.

Tài liệu

Xem tài liệu hứa hẹn cho API chi tiết.

Tài liệu gọi lại mô tả trình bao bọc gọi lại để tương thích với các trình điều khiển hiện có.

Xem phần dành riêng để di chuyển từ MySQL/MySQL2 hoặc từ phiên bản 2.x.

Tại sao một khách hàng mới?

Mặc dù có các máy khách MYSQL hiện có làm việc với MariadB, (chẳng hạn như máy khách mysqlmysql2), Trình kết nối Mariadb Node.js cung cấp chức năng mới, như chèn phát trực tuyến, Pipelining, ED25519 Xác thực plugin trong khi không thực hiện được hiệu suất.

Đầu nối là chất lượng cấp sản xuất, với nhiều tính năng:

  • Superfast Batching
  • Hồ bơi nhanh
  • Dễ dàng gỡ lỗi, theo dõi chỉ vào dòng mã lỗi
  • Cho phép truyền dữ liệu mà không cần tiêu thụ bộ nhớ cao
  • đường ống
  • Metadata bỏ qua (chỉ dành cho máy chủ Mariadb)
  • ...

Xem một số tính năng đó:

Chèn phát trực tuyến

Sử dụng một luồng có thể đọc được trong ứng dụng của bạn, bạn có thể truyền phát các câu lệnh INSERT cho Mariadb thông qua trình kết nối.

    
    https.get('https://someContent', readableStream => {
        //readableStream implement Readable, driver will stream data to database 
        connection.query("INSERT INTO myTable VALUE (?)", [readableStream]);
    });

Đường ống

Với đường ống, đầu nối sẽ gửi các lệnh mà không cần chờ kết quả máy chủ, bảo quản thứ tự. Chẳng hạn, hãy xem xét việc sử dụng thực thi hai câu INSERT.

Hướng dẫn mariadb nodejs github - mariadb nodejs github

Trình kết nối không chờ đợi kết quả truy vấn trước khi gửi câu lệnh INSERT tiếp theo. Thay vào đó, nó gửi các truy vấn hết lần này đến lần khác, tránh nhiều độ trễ của mạng.

Để biết thêm thông tin, xem tài liệu đường ống.

Chèn số lượng lớn

Một số trường hợp sử dụng yêu cầu một lượng lớn dữ liệu được đưa vào bảng cơ sở dữ liệu. Bằng cách sử dụng xử lý hàng loạt, các truy vấn này có thể được gửi đến cơ sở dữ liệu trong một cuộc gọi, do đó cải thiện hiệu suất.

Để biết thêm thông tin, xem tài liệu hàng loạt.

Điểm chuẩn

Mariadb cung cấp điểm chuẩn so sánh trình kết nối với các máy khách khác của Node.js Mariadb/MySQL, bao gồm:

  • promise-mysql Phiên bản 5.2.0 + mysql Phiên bản 2.18.1
  • mysql2 Phiên bản 2.3.3

Xem trang điểm chuẩn để biết nhiều kết quả.

truy vấn

select 20 * int, 20 * varchar(32)
            mysql :    3,086 ops/s ± 0.6%
           mysql2 :  2,799.6 ops/s ± 1.6%  (   -9.3% )
          mariadb :  4,710.8 ops/s ±   1%  (  +52.7% )

hành hình

select 20 * int, 20 * varchar(32) using execute
           mysql2 :    2,998 ops/s ± 1.3%
          mariadb :  4,419.6 ops/s ±   1%  (  +47.4% )

Bắt đầu nhanh

Đầu nối MariadB có sẵn thông qua kho lưu trữ Node.js. Bạn có thể cài đặt nó bằng NPM:

example:

const mariadb = require('mariadb');
const pool = mariadb.createPool({host: process.env.DB_HOST, user: process.env.DB_USER, connectionLimit: 5});

async function asyncFunction() {
  let conn;
  try {

	conn = await pool.getConnection();
	const rows = await conn.query("SELECT 1 as val");
	// rows: [ {val: 1}, meta: ... ]

	const res = await conn.query("INSERT INTO myTable value (?, ?)", [1, "mariadb"]);
	// res: { affectedRows: 1, insertId: 1, warningStatus: 0 }

  } finally {
	if (conn) conn.release(); //release to pool
  }
}

Đóng góp

Nếu bạn muốn đóng góp cho trình kết nối Mariadb Node.js, vui lòng làm theo các hướng dẫn được đưa ra trong Hướng dẫn của nhà phát triển.

Để nộp một vấn đề hoặc theo dõi sự phát triển, xem Jira.