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

  • Data Migration from AWS DocumentDB to Atlas on AWS
  • Advanced Maintenance of a Multi-Database Citus Cluster With Flyway
  • 3 Best Tools to Implement Kubernetes Observability
  • Raft in Tarantool: How It Works and How to Use It

Trending

  • Choosing the Appropriate AWS Load Balancer: ALB vs. NLB
  • Supercharging Productivity in Microservice Development With AI Tools
  • Docker and Kubernetes Transforming Modern Deployment
  • Breaking Free From the Cloud With Kamal: Just Enough Orchestration for Your Apps
  1. DZone
  2. Software Design and Architecture
  3. Cloud Architecture
  4. What is New in RavenDB 3.0: Operations - the Pretty Pictures Tour

What is New in RavenDB 3.0: Operations - the Pretty Pictures Tour

Oren Eini user avatar by
Oren Eini
·
Oct. 04, 14 · Interview
Like (0)
Save
Tweet
Share
2.95K Views

Join the DZone community and get the full member experience.

Join For Free

this has been the most important change in ravendb 3.0, in my opinion. not because of complexity and scope, pretty much everything here is much simpler than other features than we have done. but this is important because it makes ravendb much easier to operate. since the get go, we have tried to make sure that ravendb would be a low friction system. we usually focused on the developer experience, and that showed when we had to deal with operational issues.

things were more complex than they should. now, to be fair, we had the appropriate facilities to figure things out, ranging from debug endpoints, to performance counters to a great debug log story. the problem is that in my eye, we were merely on par with other systems. ravendb wasn’t created to be on par, ravendb was created so when you use this, you would sigh and say “that is how it should be done”. with ravendb 3.0, i think we are much closer to that.

because we have done so much work here, i’m going to split things to multiple posts. this one is the one with all the pretty pictures, as you can imagine. next one will talk about the actual operational behavior changes we made.

let me go over some of those things with you. here you can see the stats view, including looking at an index details.

image

that is similar to what we had before. but it gets interesting when we want to start actually looking at the data more deeply. here are the indexing stats on my machine:

image

you can see that the product/sales index has a big fanout, by the fact that it has more items out than in, for example. you can also see how much items we indexed per batch, and how we do parallel indexing.

we also have a lot more metrics to look at. the current requests view along several time frames.

image

the live index work view:

image

the indexing batch size and the perfetching stats graph gives us live memory consumption usage for indexing, as well as some view on what indexing strategy is currently in use.

combining those stats, we have a lot of information at our fingertips, and can get a better idea about what exactly is going on inside ravendb.

but so far, this is just to look at things, let us see what else we can do. ravendb does a lot of things in the background. from bulk insert work to set based operations. we added a view that let you see those tasks, and cancel them if you need to:

image

you can now see all the work done by the replication background processes, which will give you a better idea on what your cluster is doing. and of course there is the topology view that we already looked at.

image

we also added views for most of the debug endpoints that ravendb has. here we are looking at the subscribed changes connections.

image

we get a lot of metrics available for us now. in fact, we went a bit crazy there and started tracking a lot of stuff. this will help you understand what is going on internally. and you can also get nice histograms.

image

there is a lot of stuff there, so i won’t cover it all, but i would show you what i think is one of the nicest features:

image

this will give you real stats about resource usage in your system. including counts of documents per collection and the size on disk.

okay, that is enough with the pretty pictures, on my next post, i’ll talk about the actual changes we made to support operations better.

Statistics Debug (command) Par (command) POST (HTTP) Metric (unit) cluster Replication (computing) Memory (storage engine)

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

Opinions expressed by DZone contributors are their own.

Related

  • Data Migration from AWS DocumentDB to Atlas on AWS
  • Advanced Maintenance of a Multi-Database Citus Cluster With Flyway
  • 3 Best Tools to Implement Kubernetes Observability
  • Raft in Tarantool: How It Works and How to Use It

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: