DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
View Events Video Library
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Integrating PostgreSQL Databases with ANF: Join this workshop to learn how to create a PostgreSQL server using Instaclustr’s managed service

Mobile Database Essentials: Assess data needs, storage requirements, and more when leveraging databases for cloud and edge applications.

Monitoring and Observability for LLMs: Datadog and Google Cloud discuss how to achieve optimal AI model performance.

Automated Testing: The latest on architecture, TDD, and the benefits of AI and low-code tools.

Related

  • Simultaneous, Multiple Proportion Comparisons Using Marascuilo Procedure
  • How To Generate Scripts of Database Objects in SQL Server
  • Navigating the Benefits and Risks of Request Hedging for Network Services
  • How to Store Text in PostgreSQL: Tips, Tricks, and Traps

Trending

  • TDD With FastAPI Is Easy
  • Automated Testing: The Missing Piece of Your CI/CD Puzzle
  • Selecting the Right Automated Tests
  • LTS JDK 21 Features
  1. DZone
  2. Data Engineering
  3. Databases
  4. RavenDB–Indexing Performance Timeline

RavenDB–Indexing Performance Timeline

Oren Eini user avatar by
Oren Eini
·
Jan. 19, 15 · Interview
Like (0)
Save
Tweet
Share
3.12K Views

Join the DZone community and get the full member experience.

Join For Free

we get people asking us about the details of ravendb indexes, why a certain index is busy, what is costly, etc. this is a pretty common set of questions, and while we were always able to give the customer a good answer, i was never truly happy with that. a lot of that was about understanding the system to a very deep level and being able to read fairly obscure to an outsider. like most things that aren’t obvious and easy to use, that bugged me, deeply. therefor, we spent a few weeks adding internal metrics and exposing everything in a nice and easy fashion.

let me show you the details from one of our production databases:

image

the y axis is for different indexes. on the y axis, you have time. note that the top part is for map operations, and the bottom part is for reduce operations, and that they are running in parallel. you can also visually see that those the map & reduce are actually running in parallel.

what is even better, you can visually see each individual indexing batch, let us focus on the long indexing batch in the middle:

image

as you can see, we are indexing 512 documents, but it took us a really long time to index them, why is that? we can see that the reason that this batch took so long is that the orders/stats and products/stats index were very long. clicking on them, we can see:

image

the orders/stats index accepted a 105 documents, and outputted 1,372 map values. and the costly part of this index was to actually commit those (along with the products/stats, which also output a similar amount) to the map storage.

another slow index is exposed here:

image

in this case, we have an index that is big enough that we need to flush it to disk from ram. that explains things.

i’m really excited about this feature.

Timeline Database Document Metric (unit) Production (computer science) Commit (data management)

Published at DZone with permission of Oren Eini, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • Simultaneous, Multiple Proportion Comparisons Using Marascuilo Procedure
  • How To Generate Scripts of Database Objects in SQL Server
  • Navigating the Benefits and Risks of Request Hedging for Network Services
  • How to Store Text in PostgreSQL: Tips, Tricks, and Traps

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends: