- Splitfiles allow you to use familiar SQL to build{" "}
- versioned data images. Merging in{" "}
- public and internal datasets is as
- easy as referencing them through a JOIN.
+ Splitfiles allow you to use familiar SQL to build versioned
+ datasets, or "data images," which are snapshots of a database
+ similar to how a Docker image is a snapshot of a filesystem.
+ Merging in public and internal
+ datasets is as simple as referencing them through a JOIN.
- Learn more about Splitfiles.
+ Learn more about Splitfiles
@@ -389,11 +391,12 @@ const LandingPage = () => {
size={"6rem"}
extraStyle={{ display: "inline-flex" }}
/>
-
Keep data fresh and reproducible.
+
Keep data fresh and reproducible
With Splitgraph's provenance tracking, you know exactly where your
- data came from. Keep data images up-to-date with
- a single command when the sources change.
+ data came from. Keep data images up-to-date with a single command
+ when the sources change. Easily integrate Splitgraph into your CI
+ pipeline to stay on top of changes to your data sources.
Learn more about data provenance and rebuilding data images.
@@ -405,12 +408,12 @@ const LandingPage = () => {
size={"6rem"}
extraStyle={{ display: "inline-flex", color: "red" }}
/>
-
Share data with peers.
+
Share data with peers
Like Git, Splitgraph is peer-to-peer. Push data to any other
- Splitgraph instance or publish it to Splitgraph Cloud, where you
- get an{" "}
- instant REST API for every version of your data.
+ Splitgraph instance or publish it to the catalog at Splitgraph
+ Cloud, where you get bonus features like an instant,
+ OpenAPI-compatible REST API for every version of your data.
Anything that works with Postgres will work with Splitgraph. As
far as your tools are concerned, a Splitgraph image is just
@@ -518,12 +521,13 @@ const LandingPage = () => {
size={"6rem"}
extraStyle={{ display: "inline-flex" }}
/>
-
Ingest data from anywhere.
+
Ingest data from anywhere
Forget ETL and BI connectors. Splitgraph leverages the native
PostgreSQL feature of Foreign Data Wrappers. Use any FDW to import
- data from common databases. Or, write a custom mount handler to
- import data from wherever you need.
+ data from common databases, or thousands of open government
+ datasets. Or, write a custom mount handler to import data from
+ wherever you need.
Read more about ingesting data with FDWs
@@ -536,7 +540,7 @@ const LandingPage = () => {
size={"6rem"}
extraStyle={{ display: "inline-flex" }}
/>
-
Save on costs.
+
Save on costs
Stop paying for a bulky, always-on data warehouse. Splitgraph data
can be stored in any S3-compatible object storage and downloaded
@@ -626,9 +630,10 @@ const LandingPage = () => {
Ingest data from anywhere
- Import data from all major data sources, setup Splitgraph as a
+ Import data from all major databases, setup Splitgraph as a
Postgres replication client, or write a custom mount handler to
- cover your unique use case.
+ cover your unique use case. Transform the data into a Splitgraph
+ image, or just leave it as-is and query it on demand.
@@ -646,6 +651,24 @@ const LandingPage = () => {
+
+
+
+
+
+
+
+ Instantly access thousands of open datasets
+
+
+ Splitgraph comes bundled with a mount handler for Socrata, an
+ open data platform that hosts tens of thousands of government
+ datasets. You can use Splitgraph to mount any Socrata dataset as
+ a Postgres table. You can even write JOIN queries
+ across different data portals.
+
+
+
@@ -680,9 +703,9 @@ const LandingPage = () => {
Splitgraph objects are immutable and content-addressable,
- letting it automatically deduplicate data and store multiple
- versions efficiently.
- {/* letting you focus on what to put into your data warehouse, not how to store it.*/}
+ allowing Splitgraph to automatically deduplicate data and store
+ multiple versions efficiently. Focus on what to put into your
+ data warehouse, not how to store it.
@@ -698,7 +721,7 @@ const LandingPage = () => {
Store only lightweight metadata in a Splitgraph installation and
keep actual data in S3 compatible storage. Download data only
- when you need it, without having to run a bulky always-on
+ when you need it, without the need for a bulky always-on
warehouse.
@@ -708,7 +731,7 @@ const LandingPage = () => {
-
Research
+
Research and Reporting
@@ -762,10 +785,8 @@ const LandingPage = () => {
Splitgraph uses a columnar storage format for its data, offering
a smaller (5x-10x) on-disk footprint and faster read performance
- than PostgreSQL tables.
- {/*Splitgraph tables can be located in
- S3-compatible storage, with only a required subset of the table
- being downloaded.*/}
+ native than PostgreSQL tables. Keep your data in S3-compatible
+ storage, and only download it when you need it.
@@ -785,9 +806,11 @@ const LandingPage = () => {
Splitfiles
- Define transformations on data with declarative syntax that will
- be familiar to anyone who's written a Dockerfile. Reference
- other Splitgraph data images with a simple JOIN.
+ Define transformations on data using declarative syntax that
+ will be familiar to you if you've written a Dockerfile. Enjoy
+ full access to the SQL language, and reference other
+ Splitgraph data images or foreign tables with a simple{" "}
+ JOIN.
@@ -801,7 +824,8 @@ const LandingPage = () => {
Datasets built with Splitfiles have all their sources recorded,
meaning you know exactly where your data came from and when to
- rebuild it.
+ rebuild it. Easily stay on top of your data, without drifting
+ out of date when upstream data sources change.
@@ -813,9 +837,9 @@ const LandingPage = () => {
Caching
- Rebuild data only if the sources have changed. Use Splitfiles in
- CI to keep your data up to date and only download the changes to
- upstream datasets.
+ Rebuild data only if the sources have changed. Easily integrate
+ Splitfiles into your CI pipeline to keep your data up to date
+ and only download the changes to upstream datasets.
@@ -834,6 +858,8 @@ const LandingPage = () => {
Spend less time loading. Spend more time defining
transformations between self-contained, immutable data images.
+ Let Splitgraph worry about dependency graphs, so you can focus
+ on results.
@@ -854,7 +880,7 @@ const LandingPage = () => {
Peer-to-Peer
Any Splitgraph engine can act as a remote. Push data between
- Splitgraph installations or publish it on Splitgraph Cloud.
+ Splitgraph installations or publish it to Splitgraph Cloud.
@@ -864,10 +890,28 @@ const LandingPage = () => {
- Auto-generated API
+ Auto-generated REST API
+
+ Get an instant, auto-generated OpenAPI-compatible REST API for
+ every version of your data when you push to Splitgraph Cloud,
+ thanks to the power of PostgREST. Query any version of your data
+ with a simple HTTP request. More tools coming soon.
+
+
+
+
+
+
+
+
+
+
+ Access an ever-growing library of data
+
- Get a REST API for every version or tag of your data when you
- push it to Splitgraph Cloud.
+ Splitgraph Cloud is like GitHub is to git, a place where you can
+ share and find public data. Enrich your private reports by
+ joining your internal data with public data.
Benefit from familiar conventions and concepts. We took the best
ideas from our favorite development tools and applied them to the
@@ -965,7 +1009,7 @@ const LandingPage = () => {
size={"6rem"}
extraStyle={{ display: "inline-flex" }}
/>
-
Build composable data images.
+
Build composable data images
Write familiar SQL with simple JOINs to combine public and private
datasets into versioned data images with provenance tracking.
@@ -981,11 +1025,9 @@ const LandingPage = () => {
size={"6rem"}
extraStyle={{ display: "inline-flex" }}
/>
-
Treat your data like cattle.
+
Treat your data like cattle
- Stop wrangling data, and start wrangling databases. There's a
- saying in dev-ops that you should treat your servers like cattle,
- rather than individual pets that demand attention. Use Splitgraph
+ Stop wrangling data, and start wrangling databases. Use Splitgraph
to escape the fragility of spaghetti ETL code and deploy
confidently to production.