Is ParallelCore a service or a software? Requirement to the running environment?
ParallelCore is a software product.
It runs on Linux. The Linux nodes can be a virtual machine in private or public cloud such as AWS, or in premise servers of customers. The ParallelCore should be able to connect to the internet to request a license from DTL's licensing server.
The fully tested Linux is Ubuntu 18.04 x86-64.
What is the data security? Is it publicly readable like public blockchains?
ParallelCore is a private/permissioned blockchain. Its read/writes are through invoking smart contracts. Access to invoke smart contracts are controlled and permissioned.
Application clients or programs need to have an account with an access ID and credential (a password like text string) to authenticate itself and invoke smart contract to ParallelCore. The ParallelCore instance's system administrators create accounts and control access rights of accounts to smart contracts.
ParallelCore can be connected from Internet or configured to be available to internal network only, depending on the configuration. Connections to ParallelCore can be limited by traditional firewall / network isolation too.
Can DTL read/receive my data on ParallelCore? Is my data secure?
DTL cannot read/receive any data unless the customer's ParallelCore opens access to DTL. Your data is secure and is always under your own control.
ParallelCore only sends basic system configuration and statistics information to DTL's license server through the internet to request software license. The application data is never sent to DTL.
What interfaces do applications use to connect to ParallelCore?
ParallelCore provides RESTful API and gRPC API.
Go SDK is available for the gRPC API.
Can ParallelCore scale up for workload peaks? Any downtime during scaling up?
The servers to run smart contracts and run the underlying Key/Value store can be dynamically added by the system administrator to increase the throughput. The scaling up is done online without having to shutdown the ParallelCore (zero offline time).
After the workload pressure is lower, the ParallelCore system can be shrunk online to save resources and cost.
Do I need DTL to customize ParallelCore for changes of blockchain functions?
No, for most of the time.
Your application logic in blockchain should be implemented as smart conrtacts. The smart contracts are implemented on top of ParallelCore instead of being part of the ParallelCore. You own the IP of the smart contracts you write, and you can always upgrade/add smart contracts, without having to change or modify the ParallelCore software itself.
Can ParallelCore support my applications' query/scan functions?
You can write smart contract code to support the logic/functions.
ParallelCore provides a programming model of combined Key/Value store with ACID semantics. Common Key/Value store programming techniques apply here. The ACID semantics make the programming much easier than on normal Key/Value stores.