Giter Club home page Giter Club logo

docs's Introduction

title
Dolt Documentation

Introduction

This repository contains Dolt, DoltHub, DoltLab, and Doltgres documentation. Check out our website, team, and documentation to learn more:

GitBook Hosting

We use GitBook to publish our documentation, and delegate the subdomain docs.[product].com to dolt.gitbook.io. GitBook operates by syncing the contents of this repository. The GitBook/GitHub integration is documented here.

Using GitBook requires us to adopt their model of content structuring in order to properly render our markdown. The restrictions are as follows:

  • the root directory is set in .gitbook.yaml
  • assets, i.e. images, need to live in content/.gitbook/assets
  • the content structure is configured in content/SUMMARY.md

Contribution Workflow

We have two GitBook "spaces" for each product, one for development and review, and one for production:

To make a contribution create a feature branch, either in a fork or in this repository, and then make a PR against gitbook-dev. This can be reviewed and merged, which will result in it being deployed to "Dolt Dev" space. Once it has been reviewed in GitBook we can merge gitbook-dev to gitbook-publish, and it will land in production.

To add a new page to the docs, make sure you update SUMMARY.md

To update Dolt CLI reference docs, make updates to the Dolt command code in the dolt repo, then run dolt dump-docs to regenerate the CLI markdown file and copy it to content/reference/cli/cli.md.

To recap:

  • make changes on your-feature-branch
  • if adding a new page, update SUMMARY.md
  • review and merge to gitbook-dev, gitbook-dev syncs to Dolt Dev
  • once you are satisfied with your changes, merge gitbook-dev to gitbook-publish, at which point your changes will sync'd to production

The following diagram illustrates the workflow: GitHub/GitBook Workflow

All spaces

Check Dead Links

This tool is free and works quite well if you just pass the dev URL, https://dolt.gitbook.io/dolt-dev/, into it.

Styling Tips

You can create a styled info box for a note callout by including the following:

{% hint style="info" %}
### Note
My styled note!
{% endhint %}

Embed DoltHub SQL Console

You can embed DoltHub SQL console by including the following:

{% embed url="https://www.dolthub.com/repositories/[owner]/[database]/embed/[refName]?q={query}" %}

Some system tables are not supported on DoltHub, for example, dolt_conflicts, running select * from dolt_conflicts will return the query error: dhdolt: ReadOnlyChunkStore: Unimplemented. Make sure the query works on DoltHub before adding the console.

To avoid timeout, use a small-size database. sometimes queries with ORDER BY will time out. After removing ORDER BY, it will return much faster.

docs's People

Contributors

0xflotus avatar andthewings avatar andy-wm-arthur avatar bheni avatar bpf120 avatar coffeegoddd avatar dependabot[bot] avatar fulghum avatar funnell avatar hydrocharged avatar jennifersp avatar jhult avatar jycor avatar liuliu-dev avatar macneale4 avatar max-hoffman avatar nicktobey avatar oleks avatar pavelsafronov avatar pbowyer avatar reltuk avatar samherrmann avatar stephkyou avatar tbantle22 avatar theetrain avatar timsehn avatar tsonglew avatar vinairachakonda avatar yogevkr avatar zachmu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docs's Issues

Troubleshooting Guide

Some ideas to cover:

  • turn on loglevel trace or debug
  • explain
  • dolt gc
  • what does mysql do?

Need Compatibility Doc

Not the specific reference doc. Just the SQL Logic tests what they are, how they work, and our number like the performance page. Updated with every release. Link to SQL reference at the end.

Bad highlighting behavior for code blocks

https://docs.dolthub.com/introduction/getting-started/database#create-a-table

If you highlight that code snipped and copy (as opposed to clicking on the copy button, which works) and then paste, the result is either:

For me:

use dolts;
2
create table employees (
3
last_name varchar(255), 
4
first_name varchar(255), 
5
title varchar(255), 
6
date_started date, 
7
primary key(last_name, first_name)
8
);

For spacelove:

use dolts;

It should just copy the code itself:

use dolts;
create table employees (
    last_name varchar(255), 
    first_name varchar(255), 
    title varchar(255), 
    date_started date, 
    primary key(last_name, first_name)
);

Dolt CLI right nav need some love

We need to address:

  1. Command ordering. Should either be alphabetical or match the CLI.
  2. Get rid of the subsections. Only the commands should be listed.

New Doc: SQL Reference/Running the Server/Debugging

We need a doc on debugging a running serevr when it gets slow, is crashing, or returning bad results.

Topics could include:

  1. Is it under memory pressure? Does restarting help?
  2. --loglevel=trace. Figuring out which queries are slow.
  3. Are you CPU pegged?
  4. Adding read replicas.
  5. Garbage collection

New Doc: Resource Requirements

We need a serious examination on what kind of CPU, Memory, and disk we recommend for similar sized Postgres/MySQL databases migrating to Dolt. This will take some work/research.

We do know you need about 1% of the database size in memory. We also know Dolt makes dramatically more disk garbage than other databases. We should try and quantify this.

New Doc: SQL Reference/Version Control Features/Merge

  1. How conflicts are calculated
    1. data
    2. schema
  2. The dolt_conflicts and dolt_conflicts_<tablename> tables
    • Schema conflicts are not resolvable via SQL
  3. Resolving conflicts in SQL
    • Note must resolve in a single transaction
  4. Persisting conflicts to resolve later (not default)

CLI reference doesn't list all `dolt` subcommands

I'm writing tldr pages for all of the dolt commands, and when we write tldr pages we like to like to the home page/man page of the specific command we're documenting, so that users can learn more about the command from official sources of documentation.

Each subcommand gets its own page and therefore gets its own link. I'd like to link to the subcommand's entry on https://docs.dolthub.com/interfaces/cli, e.g. dolt add would have https://docs.dolthub.com/interfaces/cli#dolt-add as a link, but I can't do that very easily because only 21 of the total 32 subcommands are listed there.

Currently, the only dolt subcommands missing from https://docs.dolthub.com/interfaces/cli are:

  • conflicts
  • creds
  • filter-branch
  • gc
  • migrate
  • read-tables
  • schema
  • table
  • tag
  • verify-constraints
  • version

The commands themselves have --help options which display help information, so it looks like a simple copy and paste from there to the docs page would do the trick. Is it not that simple?

Need FAQ.

Start with Zach's FAQ. I think it might go well in "Getting Started" or "Reference"

New Doc: Guides/DoltLab

This is a start. We may need to restructure the overall docs to include DoltLab but this is a Good start.

Concepts/SQL section

We have a Dolt and DoltHub concepts section but it may be useful to also have a SQl Concepts section where we describe things like transactions, column tags, users/grants, collations, etc. What these are and how they are the same/different in Dolt than other SQL databases like MySQL or Postgres.

Document join hints

We support Oracle style join order hints.

SELECT /*+ JOIN_ORDER(pa, p, ib, obj, o, ik, ki) */ count(*) ...

These should be documented.

Write Reference: Remotes

We need a remotes doc that explains DoltHub, S3, GCS, and Filesystem remotes. It should also explain that we do not have HTTP or SSH remotes like Git.

New Doc: Recommended SQL Workbench

We should have a recommended SQL workbench with a detailed example of how to connect it and use it to do dolt stuff like diff and merge.

This accomplishes two goals:

  1. Help out new folks
  2. Show we're a real database like MySQL or Postgres

Refresh Data Import Guide

The Importing Data Guide could use a quick refresh.

The import best practices sections is hidden at the bottom of the page, making it difficult for customers to find and it could also use some more detail (e.g. explain how to turn off foreign key checks, explain how to use dolt verify constraints after turning them back on). Some of the recent import perf enhancements might have some updates in the doc, too (e.g. do we still need to recommending minimizing blob usage now that their import perf is much more reasonable?).

Putting linkable navigation by use case (e.g. importing a MySQL dump) up at the top would help, too (we have some use cases bulleted, but not linked, so makes navigating the doc harder).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.