A keystore is a computer subsystem that stores cryptographic keys. You can arrange for a key to be stored in it and use the key later in some way. That's the only characteristic you can always expect from something called a keystore.
A keystore may or may not have stronger protections than the rest of the system, such as preventing direct access to its memory or encrypting the data at rest.
A keystore may or may not offer some control over whether keys can be pulled out of it. A keystore may or may not be capable of generating keys itself. A system that can only store keys that it generated itself would be a bit of a stretch, but it would still be called a keystore. A keystore may or may not be able to perform cryptographic operations itself without extracting the key from it, and if so it may or may not associate some form of usage policy with the key.
A keystore may or may not be backed by persistent storage, and if so, that storage could be based on some more generally known database format or not.
A keystore usually associates some form of name to each key, but even that isn't universal (PKCS#11 is a notable exception: it's a keystore interface where keys don't have to have names, and if they do they don't have to identify a key uniquely.).
Of course, in a given context, the use of the word “keystore” may imply some of these properties. But that would be specific to this particular context.