Skip to content

DOC-3179: restructure and add content to RedisInsight #28

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

Merged
merged 22 commits into from
Jan 24, 2024
Merged

DOC-3179: restructure and add content to RedisInsight #28

merged 22 commits into from
Jan 24, 2024

Conversation

dwdougherty
Copy link
Collaborator

DOC-3179: restructure and add tutorial content to RedisInsight. It's nearly all brand new content.

dwdougherty and others added 17 commits November 29, 2023 08:09
Co-authored-by: Rachel Elledge <86307637+rrelledge@users.noreply.github.com>
…179-dwdougherty

Start branch doc-3179-dwdougherty with both doc-3100* and doc-3110* branch content in place.
* Update introduction.md

* Update intro.md

* Update intro.md

* Update introduction.md

* Update introduction.md

* Update intro.md

* Update learn-more.md

* Update learn-more.md

* Update learn-more.md

* Update learn-more.md

* Update learn-more.md

* Update learn-more.md

* Update learn-more.md

* Update learn-more.md

* Update learn-more.md

* Update learn-more.md

* Update learn-more.md

* Update learn-more.md

* Update learn-more.md

* Update learn-more.md

* Update learn-more.md
@dwdougherty dwdougherty requested a review from LiorKogan January 18, 2024 14:56
@dwdougherty
Copy link
Collaborator Author

@LiorKogan Hi Lior. Would you mind reviewing the JSON, probabilistic, and time series content?

@mariasergeenko
Copy link

mariasergeenko commented Jan 18, 2024

could you please fix links inside markdown files?
e.g. reference documentation.
the link should be full https link


A count-min sketch is used to determine the frequency of events in a stream. You can query the count-min sketch to get an estimate of the frequency of any given event.

You can initialize the count-min sketch and specify a width (the number of counters in each array) and depth (the number of counter-arrays).
Copy link
Member

Choose a reason for hiding this comment

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

These parameters mean nothing to the novice user. We should refer here to an external source that explains them.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Please provide an external reference.


```

You can also initialize a count-min sketch by providing an acceptable error rate and probability for inflated (over) count for your use case:
Copy link
Member

Choose a reason for hiding this comment

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

but there are tradeoffs...

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Such as... ?


A Top-K maintains a list of *K* most frequently seen items.

To get started, initialize a Top-K with a width (the number of counters kept in each array), depth (the number of arrays), and decay (the probability of reducing a counter in an occupied bucket).
Copy link
Member

Choose a reason for hiding this comment

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

Please add a reference to an external source that explains these terms (or mention that such a source is given below)

Copy link
Collaborator Author

@dwdougherty dwdougherty Jan 22, 2024

Choose a reason for hiding this comment

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

Please provide an external reference.


All the Redis operations implemented by single commands are atomic, including those that operate on more complex data structures. So, when you use a command that modifies the value of a key, any concurrent operations will also succeed.

## Key expiration
Copy link
Member

Choose a reason for hiding this comment

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

Why is key expiration explained under strings? It refers to any key in Redis and should appear under a separate section.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

@ViktarStarastsenka Do you want me to remove this section altogether?

"type": "internal-link",
"id": "ds-json-intro",
"label": "Introduction",
"summary": "Store, update, and retrieve JSON values in a Redis database, similar to any other Redis data type.",
Copy link
Collaborator

@ViktarStarastsenka ViktarStarastsenka Jan 22, 2024

Choose a reason for hiding this comment

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

@LiorKogan , @dwdougherty , can you please check the summary for:

  • JSON
  • Strings
  • Hashes
  • Lists
  • Sets
  • Sorted sets
  • Time series
  • Probabilistic data structures

An example is attached below. For grouped tutorials (JSON, probabilistic, time series) I added the summary only for introductions (the summary can be added only per file, not per folder), I think other file names are self-explaining.

image

Copy link
Member

@LiorKogan LiorKogan Jan 22, 2024

Choose a reason for hiding this comment

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

  • A Redis JSON is a Redis data structure for storing, querying, and manipulating a single JSON document.
  • A Redis string, the most basic Redis data type, holds a sequence of bytes.
  • A Redis list is a linked list of string values, often used to implement stacks and queues.
  • A Redis hash is a collection of fields, where each field is a name-value pair. Both name and value are strings.
  • A Redis set is an unordered collection of unique strings.
  • A Redis sorted set is a collection of unique strings, ordered by each string's associated score.

Copy link
Member

Choose a reason for hiding this comment

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

@ViktarStarastsenka Can you please paste that time series and the probabilistic structures?

Copy link
Collaborator

Choose a reason for hiding this comment

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

"id": "sq-exact-match",
"label": "Exact match (TAG queries)",
"args": {
"path": "/sq/exact-match.md"
Copy link
Collaborator

@ViktarStarastsenka ViktarStarastsenka Jan 22, 2024

Choose a reason for hiding this comment

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

@dwdougherty , please check the summary for search and query.

An example is attached below. The summary can be added only per file, so I added it only for the "introduction" file to display some context for users to try it, other files, imo, should be self-explaining.
I'll also ask Adriano to review it once he accepts the invitation.

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.

@ViktarStarastsenka Did you mean to attach an example here?

Copy link
Collaborator

Choose a reason for hiding this comment

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

I actually see it attached, but just in case:

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.

Weird... it didn't show the first time.

This definitely needs Adriano's eyes.

Copy link

@adrianoamaral adrianoamaral Jan 29, 2024

Choose a reason for hiding this comment

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

as a summary and titles adjustments I will suggest:

  1. Introduction: Enable Redis as your main database performing structured queries without compromising your performance and simplicity
  2. Exact Match (TAG queries): matching values in your datasets' attributes for secondary index use cases
  3. Full Text Search (fuzzy, wildcard...): leveraging advanced text search capabilities such as fuzzy, wildcard, synonyms, etc...to retrieve the most relevant datasets
  4. Range Queries (numeric): query on numeric fields that returns the values that are in between a given start and end value, such as prices, dates
  5. Geospatial Queries (remove): simple point-based queries and beyond including more complex geometries like polygons. This allows for a more nuanced and detailed querying of spatial data.
  6. Vector Search(remove): efficient retrieval of similar data points in a vector store, enabling advanced applications such as recommendation systems, image and video search, natural language processing, and anomaly detection
  7. Combined Queries(remove): combine different query terms and options to create more complex and nuanced queries.
  8. Analytics and transformative(remove): aggregations in Redis allow you you to group, sort, and modify your result data, extracting analytical insights from it.
  9. Semantic Search(remove): pre-filtering using different conditions and predicates combining with generated embeddings, finding similarity between them according with chosen algorithm

Choose a reason for hiding this comment

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

please align the wording with the "redis voice" @dwdougherty

"label": "Working with JSON",
"id": "tf-intro",
"label": "Introduction",
"summary": "Trigger and execute JavaScript functions in the Redis process.",
Copy link
Collaborator

Choose a reason for hiding this comment

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

@dwdougherty , please check the summary for trigger and functions.

An example is attached below. The summary can be added only per file, so I added it only for the "introduction" file to display some context for users to try it, other files, imo, should be self-explaining.
I'll also ask Thomas to review it once he accepts the invitation.

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.

LGTM, but Thomas should give it a look.

@ViktarStarastsenka ViktarStarastsenka self-requested a review January 24, 2024 16:19
Copy link
Collaborator

@ViktarStarastsenka ViktarStarastsenka left a comment

Choose a reason for hiding this comment

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

merging it to main to be able to create test RedisInsight builds.
still need to update tutorials before the release

@ViktarStarastsenka ViktarStarastsenka merged commit c423005 into redis:main Jan 24, 2024
@dwdougherty dwdougherty deleted the doc-3179-dwdougherty branch January 24, 2024 16:45
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.

6 participants