### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

DynamoDB does not correctly namespace resources based on region and account ID. 

For instance, using the same table name across accounts and regions throws an error.

### Expected Behavior

It must be possible to create resources with same name on different regions and/or different accounts.

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

#### Client commands (e.g., AWS SDK code snippet, or sequence of "awslocal" commands)

```
  $ AWS_ACCESS_KEY_ID=445500880268 AWS_DEFAULT_REGION=eu-central-1 \
    awslocal dynamodb create-table --table-name CertificateTargets-local1 \
        --key-schema AttributeName=target_uuid,KeyType=HASH \
        --attribute-definitions AttributeName=target_uuid,AttributeType=S \
        --provisioned-throughput ReadCapacityUnits=1000,WriteCapacityUnits=1000

  $ AWS_ACCESS_KEY_ID=445500880268 AWS_DEFAULT_REGION=us-east-1 \
    awslocal dynamodb create-table --table-name CertificateTargets-local1 \
        --key-schema AttributeName=target_uuid,KeyType=HASH \
        --attribute-definitions AttributeName=target_uuid,AttributeType=S \
        --provisioned-throughput ReadCapacityUnits=1000,WriteCapacityUnits=1000

    # ResourceInUseException!

  $ AWS_ACCESS_KEY_ID=000000000000 \
    awslocal dynamodb create-table --table-name CertificateTargets-local1 \
        --key-schema AttributeName=target_uuid,KeyType=HASH \
        --attribute-definitions AttributeName=target_uuid,AttributeType=S \
        --provisioned-throughput ReadCapacityUnits=1000,WriteCapacityUnits=1000

    # ResourceInUseException!
```

### Environment

```markdown
OS: Ubuntu 22.04
LocalStack: latest
```


### Anything else?

_No response_
]
    result = False
    if sources:
        result = True
    if not result and dynamodbstreams_api.get_stream_for_table(table_arn):
        result = True
    
    
    
    table_name = table_arn.split("/", 1)[-1]
    table_definitions: Dict = get_store().table_definitions
    if not result and table_definitions.get(table_name):
        if table_definitions[table_name].get("KinesisDataStreamDestinationStatus") == "ACTIVE":
            result = True
    cache[table_arn] = result
    return result
def get_updated_records(table_name: str, existing_items: List) -> List:
    """
    Determine the list of record updates, to be sent to a DDB stream after a PartiQL update operation.
    Note: This is currently a fairly expensive operation, as we need to retrieve the list of all items
          from the table, and compare the items to the previously available. This is a limitation as
          we're currently using the DynamoDB Local backend as a blackbox. In future, we should consider hooking
          into the PartiQL query execution inside DynamoDB Local and directly extract the list of updated items.
    """
    result = []
    stream_spec = dynamodb_get_table_stream_specification(table_name=table_name)
    key_schema = SchemaExtractor.get_key_schema(table_name)
    before = ItemSet(existing_items, key_schema=key_schema)
    after = ItemSet(ItemFinder.get_all_table_items(table_name), key_schema=key_schema)
    def _add_record(item, comparison_set: ItemSet):