Discussions
Categories
- 196.7K All Categories
- 2.2K Data
- 235 Big Data Appliance
- 1.9K Data Science
- 449.9K Databases
- 221.6K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 549 MySQL Community Space
- 478 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3K ORDS, SODA & JSON in the Database
- 532 SQLcl
- 4K SQL Developer Data Modeler
- 186.9K SQL & PL/SQL
- 21.3K SQL Developer
- 295.4K Development
- 17 Developer Projects
- 138 Programming Languages
- 292.1K Development Tools
- 104 DevOps
- 3.1K QA/Testing
- 645.9K Java
- 28 Java Learning Subscription
- 37K Database Connectivity
- 153 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.1K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 17 Java Essentials
- 158 Java 8 Questions
- 85.9K Java Programming
- 79 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.2K Java SE
- 13.8K Java Security
- 203 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 400 LiveLabs
- 37 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.6K Other Languages
- 2.3K Chinese
- 170 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 230 Portuguese
question regarding db lock

Dear sir,
Suppose below is the team table:
CREATE TABLE if not exists teamTable
(
teamid integer GENERATED BY DEFAULT AS IDENTITY
(START WITH 1 INCREMENT BY 1),
users array(record(name string, userid integer)),
primary key (teamid)
)
And suppose there are 2 db requests inserting new users into the same team (with same teamid) at the same time. Does it mean that query 2 cannot been done only until query 1 is finished? If the nosql db is functioning as what I mentioned above, it will reduce it’s write performance if a lot of query want to write/insert/update some data into the same array element at the same time (which below to the same row with the same primary key), and the same applies to the “map”.
So, regarding this, does oracle nosql db has a row lock mechanism similar to oracle database? Thank you.
Answers
-
Hi,
A few points here and a question...
- Given the use of an IDENTITY column as your primary key, unless you force the issue by manually assigning teamid you cannot insert 2 new rows with the same teamid.
- If you have 2 threads/processes trying to update the same row (same teamid) at the same time one of them will win but the performance will not be significantly impacted. Oracle NoSQL has single-digit latency for single-row operations, conflicting or not.
- The semantics of Oracle NoSQL include row level locking, but as mentioned above, the transactions for single-row updates are extremely fast and locks are held for a brief period in order to guarantee single digit latencies
The question: are you seeing a specific problem or are your questions theoretical?