Posts

AWS DynamoDB vs Azure CosmosDB vs Azure Table Storage pricing comparison

Image
Using a db size of 10Gb, and 10% writes and 90% reads. Provisioned databases are for 1 year. For AWS SimpleDB the amount of CPU is hard to quantify, so I used the following formulae (0.248+((requestsPerSecond)/1.5*0.14))*usdgbp This matches closly to Azure Table Storage, which is to be expected. Here are the results: (click on image to view) (click on image to view) Zooming into the lower end (click on image to view) Download Azure-CosmosDB-pricing.xlsx spreadsheet here . Summary:   Both AWS and Azure are similar in NoSQL pricing. For the small companies out there needing the cheapest NoSQL options there is Azure Table Storage and AWS SimpleDB . These are the cheapest up until you hit 400 reads per seconds which is plenty for most companies. However, be aware of the per-item size constraints below. Table Storage is about 13ms for a read and CosmosDB is about 8ms. Many developers use Amazon SimpleDB in conjunction with Amazon Simple Storage Service (Amazon S3). Amazon SimpleD

AI Reading comprehension scores

Image
In September 2019 there was a great many blog posts about AI surpassing human reading comprehension scores. Humans comprehension of a piece of text is 89.452% As of June 4th 2021, AI is now hitting scores of 93.214 , by IE-Net (ensemble) - RICOH_SRCB_DML Plotting the scores on a graph: Extrapolating the scores, we should see an AI hit 100% sometime in 2021. Spreadsheet I created for the graph above: AI-Comprehension-score.xlsx Original data source: https://rajpurkar.github.io/SQuAD-explorer/ Also see https://paperswithcode.com/sota/question-answering-on-squad20

Entity Framework - Things you should be aware of…

Image
1. Entity Cache First thing to be aware of is entity caching In this example, the first query reads data from the repository and materialize the data to a category entity, and update its Name. Then the repository is queried again by Name. After reading the data, Entity Framework founds the primary key is the same as the cached entity, so Entity Framework does not materialize the data just read, it reuses the previous category entity. Performance is improved by skipping the materialization, but tricky results can happen. When using DbSet .SqlQuery to directly execute SQL query in the repository, Entity Framework still looks up cache before materializing. 2. Materializing a new entity (no caching) Entity is not cached when tracking is turned off, or entity is not queried from the repository. Each of the following queries materializes a new entity: 3. DbSet.Find DbSet.Find accepts the primary keys and returns an entity. Calling Find can improve the performance, because i