Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add the get-started documents #5

Merged

Conversation

annastuchlik
Copy link
Collaborator

This PR adds documents that cover basic concepts in ScyllaDB and help developers get started with ScyllaDB.

In addition, the left navigation bar is enabled in this project so that the new documents are shown in the page tree.

@annastuchlik
Copy link
Collaborator Author

@dgarcia360 Please have a look to see if everything is OK in terms of our toolchain, customization, etc.

Copy link
Collaborator

@timkoopmans timkoopmans left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor / cosmetic changes. Great job porting this over from google docs!

docs/why-scylladb/index.rst Outdated Show resolved Hide resolved
docs/develop-with-scylladb/index.rst Outdated Show resolved Hide resolved
docs/develop-with-scylladb/run-scylladb.rst Outdated Show resolved Hide resolved
docs/develop-with-scylladb/install-drivers.rst Outdated Show resolved Hide resolved
docs/develop-with-scylladb/connect-apps.rst Outdated Show resolved Hide resolved
docs/query-data/insert-data.rst Outdated Show resolved Hide resolved
docs/query-data/update-data.rst Outdated Show resolved Hide resolved
docs/query-data/delete-data.rst Outdated Show resolved Hide resolved
docs/data-modeling/best-practices.rst Outdated Show resolved Hide resolved
docs/learn-resources/index.rst Outdated Show resolved Hide resolved
@annastuchlik annastuchlik force-pushed the anna-add-content-structure-1 branch from 521353f to 7946e21 Compare December 8, 2023 08:15
@annastuchlik annastuchlik force-pushed the anna-add-content-structure-1 branch from 7946e21 to 3cec8e4 Compare December 8, 2023 08:20
Copy link
Contributor

@zseta zseta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor suggestions and adding the feature store sample app

docs/develop-with-scylladb/tutorials-example-projects.rst Outdated Show resolved Hide resolved
docs/develop-with-scylladb/tutorials-example-projects.rst Outdated Show resolved Hide resolved
docs/develop-with-scylladb/tutorials-example-projects.rst Outdated Show resolved Hide resolved
docs/develop-with-scylladb/tutorials-example-projects.rst Outdated Show resolved Hide resolved
docs/develop-with-scylladb/tutorials-example-projects.rst Outdated Show resolved Hide resolved
docs/develop-with-scylladb/tutorials-example-projects.rst Outdated Show resolved Hide resolved
@tzach
Copy link
Collaborator

tzach commented Dec 10, 2023

Visual comment: the combination of left menu and cards does not work well
image

@tzach
Copy link
Collaborator

tzach commented Dec 10, 2023

Some initial comments on the content, starting with Key Features page:
It's to marketing. in docs, we need to

  • provide 100% accurate info on the product.

  • add a reference to each of the claims.

  • High Performance and Scalability - these are two different items! Performance is a result of the share per core architecture and other optimizations. Scalability is a result of the ring architecture. Since we already have Horizontal Scalability below, we can remove it from here.

  • Fault Tolerance: the result of eventual consistency, Raft...

  • Efficient Caching: not clear.

  • Comprehensive Monitoring: link to the monitoring project

As is, the Use Cases section is too vague to be part of the docs.

"Big Data Analytics: Ideal for applications requiring real-time processing of vast datasets."
This is not true. Scylla is not a good tool for pure "Big Data Analytics".
Scylla is a good tool for real-time processing (OLTP), which can also support concurrent Analytics requests.

@tzach
Copy link
Collaborator

tzach commented Dec 10, 2023

Can we use Tabs in the Driver page, as in the Connect an Application?
It would make the page more compact and make the "CONNECT AN APPLICATION" more visible.

@tzach
Copy link
Collaborator

tzach commented Dec 10, 2023

data-modeling/query-design/ - We should remove it or add examples to make it worthwhile. Without examples, it is a collection of high-level statements that are hard to use.
BTW, we have a Scylla U course on data modeling we can link to.

@tzach
Copy link
Collaborator

tzach commented Dec 10, 2023

/data-modeling/schema-design/

An advantage of NoSQL databases such as ScyllaDB is the perception that schema design can evolve.

Relational database supports ALTER TABLE for decades. Lets avoid such statements, they are not helping the user to use the product.

docs/index.rst Outdated
@@ -2,7 +2,6 @@
:hide-version-warning:
:hide-pre-content:
:hide-post-content:
:hide-sidebar:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@annastuchlik I'm not sure to like the homepage with the sidebar enabled.

Instead, in a future iteration we might want to link this getting started content on this section. Instead of showing products, we can show actions readers might want to do:

image

By doing so, we can move back the open-source, enterprise, cloud products to the "Products list" section:

image

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As a suggestion, cc/ @tzach and @annastuchlik let's leave the sidebar hidden (so as not to interfere with the cards) until users are directed to the getting started guide. To first navigate there, how about we link this guide via the "New to ScyllaDB? Start here" link. ATM this link goes to ScyllaDB basics which has a cloud context. Perhaps this guide is a better replacement for that.

image

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I'll hide the sidebar and add a link. Better, I'll replace the link with a button (it's supported by the current theme, so we don't need to release anything). I need to move the files under one folder beforehand.

docs/data-modeling/query-design.rst Outdated Show resolved Hide resolved
docs/data-modeling/query-design.rst Outdated Show resolved Hide resolved
docs/data-modeling/query-design.rst Outdated Show resolved Hide resolved
docs/data-modeling/schema-design.rst Outdated Show resolved Hide resolved
docs/data-modeling/schema-design.rst Outdated Show resolved Hide resolved
docs/data-modeling/schema-design.rst Outdated Show resolved Hide resolved
docs/develop-with-scylladb/install-drivers.rst Outdated Show resolved Hide resolved
docs/develop-with-scylladb/connect-apps.rst Outdated Show resolved Hide resolved
docs/why-scylladb/index.rst Outdated Show resolved Hide resolved
docs/index.rst Outdated
@@ -2,7 +2,6 @@
:hide-version-warning:
:hide-pre-content:
:hide-post-content:
:hide-sidebar:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As a suggestion, cc/ @tzach and @annastuchlik let's leave the sidebar hidden (so as not to interfere with the cards) until users are directed to the getting started guide. To first navigate there, how about we link this guide via the "New to ScyllaDB? Start here" link. ATM this link goes to ScyllaDB basics which has a cloud context. Perhaps this guide is a better replacement for that.

image

@timkoopmans
Copy link
Collaborator

Some initial comments on the content, starting with Key Features page: It's to marketing. in docs, we need to

  • provide 100% accurate info on the product.
  • add a reference to each of the claims.
  • High Performance and Scalability - these are two different items! Performance is a result of the share per core architecture and other optimizations. Scalability is a result of the ring architecture. Since we already have Horizontal Scalability below, we can remove it from here.
  • Fault Tolerance: the result of eventual consistency, Raft...
  • Efficient Caching: not clear.
  • Comprehensive Monitoring: link to the monitoring project

As is, the Use Cases section is too vague to be part of the docs.

"Big Data Analytics: Ideal for applications requiring real-time processing of vast datasets." This is not true. Scylla is not a good tool for pure "Big Data Analytics". Scylla is a good tool for real-time processing (OLTP), which can also support concurrent Analytics requests.

scrapping that section as I feel it's hard to get right for this getting started guide / doesn't offer a lot of value to developer at this point in onboarding.

@timkoopmans
Copy link
Collaborator

/data-modeling/schema-design/

An advantage of NoSQL databases such as ScyllaDB is the perception that schema design can evolve.

Relational database supports ALTER TABLE for decades. Lets avoid such statements, they are not helping the user to use the product.

scrapped in latest comments for something shorter / less snakeoil

@timkoopmans
Copy link
Collaborator

data-modeling/query-design/ - We should remove it or add examples to make it worthwhile. Without examples, it is a collection of high-level statements that are hard to use. BTW, we have a Scylla U course on data modeling we can link to.

more examples added

@annastuchlik annastuchlik force-pushed the anna-add-content-structure-1 branch from be0b3f8 to 6e070dd Compare January 3, 2024 13:40
@annastuchlik
Copy link
Collaborator Author

@timkoopmans @tzach Please re-review.
I've merged Tim's suggestions and added the examples. I think that all comments left by Tzach are now addressed.

Here's how the content is now organized:

  • The menu in the left sidebar is removed.

  • New to ScyllaDB? Start here! is presented as a button. Also, the search box is removed (we already have a search bar in the right corner, so this one was redundant). All that for better visibility.

  • Later on, we can improve the design and position of the button with David's help. I've used what is available now.
    image

  • The pages are grouped under a new Get Started with ScyllaDB page. It will enable us to add pages that don't belong to Getting Started in the future if needed.

  • We can have another iteration to improve it. For example, the "ScyllaDB Documentation" label is not necessary here. But I think we can release as is.
    image

@annastuchlik
Copy link
Collaborator Author

I've skipped the critical information: the button now takes you to https://docs.scylladb.com/stable/. After this PR is merged, I'll open another one to replace it with https://docs.scylladb.com/stable/get-started, as the URL doesn't exist yet.

Copy link
Collaborator

@timkoopmans timkoopmans left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor issues with some links, as discussed in person.

Happy with this version, thank you.

docs/get-started/data-modeling/query-design.rst Outdated Show resolved Hide resolved
docs/get-started/data-modeling/query-design.rst Outdated Show resolved Hide resolved
docs/get-started/learn-resources/index.rst Outdated Show resolved Hide resolved
@annastuchlik annastuchlik force-pushed the anna-add-content-structure-1 branch from 4f95a5a to 89d3861 Compare January 5, 2024 09:34
@annastuchlik
Copy link
Collaborator Author

@tzach Tim and I are done reviewing. I've also asked @zseta and @danielhe4rt to have a final look at the driver-related pages.
Can you re-review and let us know if you think the PR can be merged?

Copy link
Collaborator

@tzach tzach left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice progress.
Few more comments

docs/get-started/why-scylladb/index.rst Outdated Show resolved Hide resolved
docs/get-started/why-scylladb/index.rst Outdated Show resolved Hide resolved
docs/get-started/data-modeling/index.rst Outdated Show resolved Hide resolved
docs/get-started/data-modeling/index.rst Outdated Show resolved Hide resolved
docs/get-started/data-modeling/query-design.rst Outdated Show resolved Hide resolved
Comment on lines 71 to 73
and the books table stores information about books. The ``author_id`` column
in the books table serves as a foreign key referencing the authors table,
ensuring data consistency and reducing redundancy.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Scylla does not support foreign keys.
We are highlighting a Scylla deficiency here.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On a second thougt, I suggest to drop the entire section of (De)Normalization
Its better fit in a blog post, and its is not a must in the getting started section

Copy link
Collaborator Author

@annastuchlik annastuchlik Jan 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@timkoopmans, I'm removing the section @tzach is referring to, especially since it includes incorrect information. He's got a point - (de)normalization may not be the best fit for Getting Started, but we can add something else to this page later on.

Copy link
Contributor

@zseta zseta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good work!

This commit adds documents that cover
basic concepts in ScyllaDB and help
developers get started with ScyllaDB.
@annastuchlik annastuchlik force-pushed the anna-add-content-structure-1 branch from 8550849 to 78a24ac Compare January 8, 2024 13:44
@annastuchlik annastuchlik merged commit 00120d3 into scylladb:main Jan 9, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants