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

Need additional documentation on high level Crux concepts and architecture #747

Closed
1 of 3 tasks
dgr opened this issue Mar 26, 2020 · 1 comment
Closed
1 of 3 tasks
Assignees
Labels
1.x documentation Improvements or additions to documentation

Comments

@dgr
Copy link

dgr commented Mar 26, 2020

As a new Crux user, I've spent a lot of time reading and re-reading the docs. The following are some suggestions for improvements to the documentation that I believe will make Crux more easily understood by new users.

  • 1. DONE (see Docs changes #822 ) An overview of the high-level programming concepts from an API point of view. The current documentation spends time discussing bi-temporality, which is great, but doesn't discuss things like what the node and db concepts are abstracting. You can sort of piece it together from the names, the raw API, and looking at the code, but it would be useful to just have this documented. For instance, when you start a node, what is that doing under the hood? What does a node contain once it has started? When you execute (crux/db node), what is the result of that? What is a DB, exactly? How long can I hold onto it? Why would I want to (or not want to)?

  • 2. An overview of how Crux works architecturally and how the abstract architecture maps to each of the various deployment models. For instance, if I'm using the standalone, Kafka, or JDBC topologies, which component is performing which tasks? How does the data flow between the various components in the architecture? Where is it stored? Where is it indexed? When a query happens, which node is running that code?

  • 3. Scaling and performance notes. It would be good to understand where the pinch-points in the architecture are and how to work around them. How does Kafka perform versus standalone or JDBC? How much effect does memory have on a node? How much effect does CPU speed have on a node? When should I scale out and add more nodes versus scaling up the nodes I have? Are there any limits to the architecture? Is there any place where the Crux team would say, "Crux is not suited for that type of application or use case" ?

@refset refset self-assigned this Mar 26, 2020
@refset refset added the docs label Mar 26, 2020
@refset refset added this to Selected in XTDB Development Mar 26, 2020
@refset refset moved this from Selected to In progress in XTDB Development Apr 7, 2020
@refset refset mentioned this issue Apr 27, 2020
@jarohen jarohen moved this from In progress to Selected in XTDB Development May 27, 2020
refset added a commit to refset/xtdb that referenced this issue Jul 7, 2020
refset added a commit to refset/xtdb that referenced this issue Jul 7, 2020
jarohen pushed a commit to jarohen/xtdb that referenced this issue Jul 10, 2020
jarohen pushed a commit to jarohen/xtdb that referenced this issue Jul 10, 2020
jarohen pushed a commit to jarohen/xtdb that referenced this issue Jul 10, 2020
@jarohen
Copy link
Member

jarohen commented Sep 8, 2020

Incorporated into #386

@jarohen jarohen closed this as completed Sep 8, 2020
XTDB Development automation moved this from Selected to Awaiting release Sep 8, 2020
@jarohen jarohen removed this from Awaiting release in XTDB Development Sep 8, 2020
@jarohen jarohen added the 1.x label Apr 21, 2023
@jarohen jarohen added documentation Improvements or additions to documentation and removed docs labels Mar 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1.x documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants