Skip to content

Commit 3812ad5

Browse files
authored
[sql_server] initial draft of docs (#32458)
This PR adds an initial draft of docs for the SQL Server source. It's largely based off of the MySQL and Postgres docs. I totally removed the section on replicating SQL Server with Debezium and Kafka, but I can re-add that if we'd prefer until the SQL Server source is out of private preview. ### Motivation Closes MaterializeInc/database-issues#9200 ### Tips for reviewer Docs Preview ### Checklist - [ ] This PR has adequate test coverage / QA involvement has been duly considered. ([trigger-ci for additional test/nightly runs](https://trigger-ci.dev.materialize.com/)) - [ ] This PR has an associated up-to-date [design doc](https://github.com/MaterializeInc/materialize/blob/main/doc/developer/design/README.md), is a design doc ([template](https://github.com/MaterializeInc/materialize/blob/main/doc/developer/design/00000000_template.md)), or is sufficiently small to not require a design. <!-- Reference the design in the description. --> - [ ] If this PR evolves [an existing `$T ⇔ Proto$T` mapping](https://github.com/MaterializeInc/materialize/blob/main/doc/developer/command-and-response-binary-encoding.md) (possibly in a backwards-incompatible way), then it is tagged with a `T-proto` label. - [ ] If this PR will require changes to cloud orchestration or tests, there is a companion cloud PR to account for those changes that is tagged with the release-blocker label ([example](MaterializeInc/cloud#5021)). <!-- Ask in #team-cloud on Slack if you need help preparing the cloud PR. --> - [ ] If this PR includes major [user-facing behavior changes](https://github.com/MaterializeInc/materialize/blob/main/doc/developer/guide-changes.md#what-changes-require-a-release-note), I have pinged the relevant PM to schedule a changelog post.
1 parent 8f87664 commit 3812ad5

21 files changed

+1112
-209
lines changed

doc/user/config.toml

-6
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,6 @@ weight = 5
2626
# Connect sources
2727
#
2828

29-
[[menu.main]]
30-
name = "SQL Server"
31-
parent = 'ingest-data'
32-
identifier = 'sql-server'
33-
weight = 15
34-
3529
[[menu.main]]
3630
name = "CockroachDB"
3731
parent = 'ingest-data'

doc/user/content/concepts/sources.md

+1
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ Materialize bundles native connectors for the following external systems:
4747
- [Redpanda](/sql/create-source/kafka)
4848
- [PostgreSQL](/sql/create-source/postgres)
4949
- [MySQL](/sql/create-source/mysql/)
50+
- [SQL Server](/sql/create-source/sql-server)
5051
- [Webhooks](/sql/create-source/webhook/)
5152

5253
For details on the syntax, supported formats and features of each connector, check out the dedicated `CREATE SOURCE` documentation pages.

doc/user/content/get-started/_index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ Materialize provides **native connectors** that allow ingesting data from variou
8383
{{< linkbox title="Databases (CDC)" >}}
8484
- [PostgreSQL](/ingest-data/postgres/)
8585
- [MySQL](/ingest-data/mysql/)
86-
- [SQL Server](/ingest-data/cdc-sql-server/)
86+
- [SQL Server](/ingest-data/sql-server)
8787
- [CockroachDB](/ingest-data/cdc-cockroachdb/)
8888
- [MongoDB](https://github.com/MaterializeIncLabs/materialize-mongodb-debezium)
8989
{{</ linkbox >}}

doc/user/content/ingest-data/_index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ You can ingest data into Materialize from various external systems:
1515
{{< linkbox title="Databases (CDC)" >}}
1616
- [PostgreSQL](/ingest-data/postgres/)
1717
- [MySQL](/ingest-data/mysql/)
18-
- [SQL Server](/ingest-data/cdc-sql-server/)
18+
- [SQL Server](/ingest-data/sql-server/)
1919
- [MongoDB](https://github.com/MaterializeIncLabs/materialize-mongodb-debezium)
2020
- [CockroachDB](/ingest-data/cdc-cockroachdb/)
2121
{{</ linkbox >}}

doc/user/content/ingest-data/cdc-sql-server.md

-199
This file was deleted.

doc/user/content/ingest-data/debezium.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ sources instead.
1717
|------------|---------------------| ---------------------------------------------------------------------------------------------- |
1818
| PostgreSQL || {{% ingest-data/postgres-native-support %}} |
1919
| MySQL || {{% ingest-data/mysql-native-support %}} |
20-
| SQL Server | | [Kafka + Debezium](/ingest-data/cdc-sql-server/) |
20+
| SQL Server | | {{% ingest-data/sql-server-native-support %}} |
2121
| Oracle | | [Kafka + Debezium](https://debezium.io/documentation/reference/stable/connectors/oracle.html) |
2222
| MongoDB | | [Kafka + Debezium](https://debezium.io/documentation/reference/stable/connectors/mongodb.html) |
2323

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
title: "SQL Server"
3+
description: "Connecting Materialize to a SQL Server database for Change Data Capture (CDC)."
4+
disable_list: true
5+
menu:
6+
main:
7+
parent: 'ingest-data'
8+
identifier: 'sql-server'
9+
weight: 15
10+
---
11+
12+
## Change Data Capture (CDC)
13+
14+
Materialize supports SQL Server as a real-time data source. The [SQL Server source](/sql/create-source/sql-server/)
15+
uses SQL Server's change data capture feature to **continually ingest changes**
16+
resulting from CRUD operations in the upstream database. The native support for
17+
SQL Server Change Data Capture (CDC) in Materialize gives you the following benefits:
18+
19+
* **No additional infrastructure:** Ingest SQL Server change data into Materialize in
20+
real-time with no architectural changes or additional operational overhead.
21+
In particular, you **do not need to deploy Kafka and Debezium** for SQL Server
22+
CDC.
23+
24+
* **Transactional consistency:** The SQL Server source ensures that transactions in
25+
the upstream SQL Server database are respected downstream. Materialize will
26+
**never show partial results** based on partially replicated transactions.
27+
28+
* **Incrementally updated materialized views:** Incrementally updated Materialized
29+
views are considerably **limited in SQL Server**, so you can use Materialize as
30+
a read-replica to build views on top of your SQL Server data that are
31+
efficiently maintained and always up-to-date.
32+
33+
* **Supported versions:** Materialize supports replicating data from SQL Server 2016
34+
or higher.
35+
36+
* **Integration Guides**
37+
* [Self-hosted SQL Server](/ingest-data/sql-server/self-hosted/)

0 commit comments

Comments
 (0)